1、在C#中索引器的作用是什么?请设计一个类说明,不胜感激。
2、Abstract Factory模式什么用途、请举例,谢谢。
3、串行化和并行化是什么意思?
4、装箱是把值类型转换成引用类型,有什么作用或者好处呢?谢谢大家

解决方案 »

  1.   

    1.索引器就是讓你使用類就像使用數組一樣。例如:
    public class car 
    {
    int[] carnum = new int[10];
    public car()
    {
    }
    public int this  [ int i ]
    {
    get { return carnum[i] ; }
    set { carnum[i] = value ;}
    }

    }
         
        public static void Main()
    {
    car num = new car();
    num[0] = 1;
    Console.WriteLine( num[0] );
    Console.ReadLine();
             }
      

  2.   

    4.一般用函數傳參數時,要知道參數的類型,如果不知道,就把它裝箱成object,然後傳過去後,用gettype(),取得類型後,再使用。
      

  3.   

    4.一般用函數傳參數時,要知道參數的類型,如果不知道,就把它裝箱成object,然後傳過去後,用gettype(),取得類型後,再使用。
    强.
      

  4.   

    1.索引器就是讓你使用類就像使用數組一樣。例如:
    public class car 
    {
    int[] carnum = new int[10];
    public car()
    {
    }
    public int this  [ int i ]
    {
    get { return carnum[i] ; }
    set { carnum[i] = value ;}
    }

    }
         
        public static void Main()
    {
    car num = new car();
    num[0] = 1;
    Console.WriteLine( num[0] );
    Console.ReadLine();
             }
    抽象工厂用于提供创建不同对象的统一接口...
    4.一般用函數傳參數時,要知道參數的類型,如果不知道,就把它裝箱成object,然後傳過去後,用gettype(),取得類型後,再使用。还差最后一个
      

  5.   

    2.http://terrylee.cnblogs.com/archive/2005/12/13/295965.html
      

  6.   

    Abstract Factory模式什么用途、请举例,谢谢我觉得有了反射之后 这个模式会被 取代的
      

  7.   

    http://www.cnblogs.com/Bear-Study-Hard/archive/2006/04/07/369471.html
    看看这个
      

  8.   

    2.抽象工厂模式是一种创建型模式,用于当需要返回一系列相关类中的某一个,而每个类都能根据需要返回不同的对象时使用.抽象工场模式包括4种对象.
     a 抽象工厂接口/类 AbstractFactory,它的创建与应用程序与无逻辑无关,通常使用接口或抽象类实现.
     b 具体工厂类ConcreteFactory1/ConcreteFactory2,它们的创建与业务逻辑有着密切关系,通常使用具体的类实现.通常调用该类中的方法可获得具体产品实例.
     c 抽象产品接口/类PrpductA/PrpductB,该对象中包括具体产品类的父类,或者具体产品类所实现的接口,所以定义的内容与业务逻辑相关.
     d 具体产品类ProductA1/A2/B1/B2,它们实现PrpductA/PrpductB接口.
     推荐你看PetShop4.0 这个就是用的AbstractFactory模式
      

  9.   

    送你个序列化的例子:
    using System;
    using System.IO;
    using System.Runtime.Serialization;
    using System.Runtime.Serialization.Formatters.Soap;
    //using System.Runtime.Serialization.Formatters.Binary;public class Test {
       public static void Main()  {      //Creates a new TestSimpleObject object.
          TestSimpleObject obj = new TestSimpleObject();      Console.WriteLine("Before serialization the object contains: ");
          obj.Print();      //Opens a file and serializes the object into it in binary format.
          Stream stream = File.Open("data.xml", FileMode.Create);
          SoapFormatter formatter = new SoapFormatter();      //BinaryFormatter formatter = new BinaryFormatter();      formatter.Serialize(stream, obj);
          stream.Close();
       
          //Empties obj.
          obj = null;
       
          //Opens file "data.xml" and deserializes the object from it.
          stream = File.Open("data.xml", FileMode.Open);
          formatter = new SoapFormatter();      //formatter = new BinaryFormatter();      obj = (TestSimpleObject)formatter.Deserialize(stream);
          stream.Close();      Console.WriteLine("");
          Console.WriteLine("After deserialization the object contains: ");
          obj.Print();
       }
    }
    // A test object that needs to be serialized.
    [Serializable()]
    public class TestSimpleObject  {    public int member1;
        public string member2;
        public string member3;
        public double member4;
        
        // A field that is not serialized.
        [NonSerialized()] public string member5; 
        
        public TestSimpleObject() {        member1 = 11;
            member2 = "hello";
            member3 = "hello";
            member4 = 3.14159265;
            member5 = "hello world!";
        }
        public void Print() {        Console.WriteLine("member1 = '{0}'", member1);
            Console.WriteLine("member2 = '{0}'", member2);
            Console.WriteLine("member3 = '{0}'", member3);
            Console.WriteLine("member4 = '{0}'", member4);
            Console.WriteLine("member5 = '{0}'", member5);
        }
    }
    用BOXING把值类型转化为类类型在某些情形是有必要也是必须的,比如
    int i=23;
    Console.WriteLine(i);
    现在就已经悄悄地把i装箱成了object了……
    有关BOXING与UNBOXING的内容比较复杂,不是一句两句能说清楚的,其实楼主的四个问题都是些较高级的问题……
    本人愚见