কম্পিউটার

শ্যালো কপি কি এবং কিভাবে এটি C# এ ডিপ কপি থেকে আলাদা?


অগভীর অনুলিপি

একটি বস্তুর একটি অগভীর অনুলিপি "প্রধান" বস্তুকে অনুলিপি করে, কিন্তু অভ্যন্তরীণ বস্তুগুলিকে অনুলিপি করে না।

"অভ্যন্তরীণ বস্তু" মূল বস্তু এবং এর অনুলিপির মধ্যে ভাগ করা হয়৷

অগভীর কপির সমস্যা হল দুটি বস্তু স্বাধীন নয়। আপনি যদি একটি বস্তু পরিবর্তন করেন, তবে পরিবর্তনটি অন্য বস্তুতে প্রতিফলিত হবে।

ডিপ কপি

একটি গভীর অনুলিপি একটি বস্তুর সম্পূর্ণ স্বাধীন অনুলিপি। যদি আমরা আমাদের অবজেক্ট কপি করি, তাহলে আমরা সম্পূর্ণ অবজেক্ট স্ট্রাকচার কপি করব।

আপনি যদি একটি বস্তু পরিবর্তন করেন, তবে পরিবর্তনটি অন্য বস্তুতে প্রতিফলিত হবে না।

উদাহরণ

class Program{
   static void Main(string[] args){
      //Shallow Copy
      ShallowCopy obj = new ShallowCopy();
      obj.a = 10;
      ShallowCopy obj1 = new ShallowCopy();
      obj1 = obj;
      Console.WriteLine("{0} {1}", obj1.a, obj.a); // 10,10
      obj1.a = 5;
      Console.WriteLine("{0} {1}", obj1.a, obj.a); //5,5
      //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();
   }
}
class ShallowCopy{
   public int a = 10;
}
class DeepCopy{
   public int a = 10;
}

আউটপুট

10 10
5 5
10 10
5 10

  1. কি:RTF (.rtf) ফাইল এবং অন্যান্য টেক্সট ফরম্যাট থেকে এটি কীভাবে আলাদা?

  2. ডিপ ওয়েব কী এবং কীভাবে এটি নিরাপদে অ্যাক্সেস করা যায়?

  3. স্পিয়ার ফিশিং কী এবং কীভাবে এটি থেকে নিজেকে রক্ষা করবেন?

  4. স্কেয়ারওয়্যার কী এবং উইন্ডোজ পিসি থেকে কীভাবে এটি সরানো যায়