C# 复制类内容

 

针对“类”类型,C#中的等号相当于C++中的引用,赋值的结果是产生一个引用而非新的对象。
如果要产生新的一个对象,内容和老的对象一致,可以通过下面方法实现(使用 MemberwiseClone 复制类):

class MyBaseClass {

        public static string CompanyName = "My Company"; 
        public int age; 
        public string name;

        public object cloneClass()
        {
            return MemberwiseClone();
        }
}

class MyDerivedClass{
static void Main() { 
   MyBaseClass m1 = new MyBaseClass ();
   m1.age = 42;
   m1.name = "Sam";

   MyBaseClass m2=(MyBaseClass)m1.cloneClass();
   m2.age=44;//此句不会影响m1.age的值
   }
}

原文地址:https://www.cnblogs.com/dashi/p/4034741.html