Computer >> Máy Tính >  >> Lập trình >> C#

Làm cách nào để bạn tạo một bản sao sâu của một đối tượng trong .NET?

Bản sao sâu nhân bản mọi thứ. Bản sao sâu của một bộ sưu tập là hai bộ sưu tập có tất cả các phần tử trong bộ sưu tập gốc được sao chép

Bản sao sâu được sử dụng để tạo bản sao sâu hoàn chỉnh của các loại tham chiếu nội bộ.

Nói cách khác, một bản sao sâu xảy ra khi một đối tượng được sao chép cùng với các đối tượng mà nó tham chiếu đến

Ví dụ

class DeepCopy {
   public int a = 10;
}
class Program {
   static void Main() {
      //Deep Copy
      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();
   }
}

Đầu ra

10 10
5 10