有两个实例a,b都是基础类Class1,现要求将b的数据成员完全与a 一样,C#中有类复制函数吗.b=a肯定不行的,只是a,b都指向a的内存地址而已.

解决方案 »

  1.   

    搂住所说的应该就克隆吧。。
    DataSEt clneSet;
    clneSet = myDataSte.Clone();
      

  2.   

    自己写Clone函数或者如果Class1支持序列化,可以序列化成字节数据,再反序列化,这种方法比较慢,但是通用
      

  3.   

    基础类是没有Clone函数的,我又不想些Clone函数,有无简单点的
      

  4.   

    没有默认的拷贝构造函数。不用Clone的话自己一个一个赋值好了。
      

  5.   

    深深度拷贝的实现:), 唯一注意的是对象要支持序列化public static object CloneObject(object obj)
    {
      using(MemoryStream stream = new MemoryStream())
      {
        BinaryFormatter formatter = new BinaryFormatter();
        stream.Position = 0;
        formatter.Serialize(stream, obj);
        stream.Position = 0;
        return formatter.Deserialize(stream);
      }
    }
      

  6.   

    一般只要把class标记上 [Serializable] 上面这个方法就可以用了,就是比手工写Clone要慢