ডিপ কপি সব কিছু ডুপ্লিকেট করে। একটি কালেকশনের ডিপ কপি মানে দুটি কালেকশন যেখানে оригиনাল কালেকশনের সকল এলিমেন্ট ডুপ্লিকেট করা হয়েছে।
ডিপ কপি ইন্টারনাল রেফারেন্স টাইপগুলোর একটি সম্পূর্ণ ডিপ কপি তৈরি করতে ব্যবহৃত হয়।
অন্য কথায়, একটি ডিপ কপি তখন হয় যখন একটি অবজেক্টকে তার যেগুলোর রেফারেন্স দিয়ে থাকে সেগুলোর সাথেই কপি করা হয়।
উদাহরণ
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