如何在 .NET 中对对象进行深层复制?

csharpserver side programmingprogramming更新于 2025/4/20 10:52:17

深层复制会复制所有内容。集合的深层复制是两个集合,其中原始集合中的所有元素均已复制

深层复制用于对内部引用类型进行完整的深层复制。

换句话说,当对象与其引用的对象一起复制时,就会发生深层复制

示例

class DeepCopy {
   public int a = 10;
}
class Program {
   static void Main() {
      //深层复制
      DeepCopy d = new DeepCopy();
      d.a = 10;
      DeepCopy d1 = new DeepCopy();
      d1.a = d.a;
      Console.WriteLine("{0} {1}", d1.a, d.a); // 10,10
      d1.a = 5;
      Console.WriteLine("{0} {1}", d1.a, d.a); //5,10
      Console.ReadLine();
   }
}

输出

10 10
5 10

相关文章