สำเนาลึกทำซ้ำทุกอย่าง สำเนาลึกของคอลเลกชั่นคือคอลเลกชั่นสองคอลเลกชั่นโดยที่องค์ประกอบทั้งหมดในคอลเลกชั่นดั้งเดิมซ้ำกัน
Deep Copy ใช้สำหรับสร้างสำเนาแบบลึกที่สมบูรณ์ของประเภทการอ้างอิงภายใน
กล่าวอีกนัยหนึ่งสำเนาลึกเกิดขึ้นเมื่อวัตถุถูกคัดลอกพร้อมกับวัตถุที่อ้างถึง
ตัวอย่าง
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(); } }
ผลลัพธ์
10 10 5 10