কম্পিউটার টিউটোরিয়াল

C#-এ == অপারেটর vs Equals() মেথড পার্থক্য

== অপারেটর রেফারেন্স আইডেন্টিটি চেক করে (রেফারেন্স টাইপের জন্য)। Equals() মেথড কন্টেন্ট চেক করে।

উদাহরণ ১: একই রেফারেন্স

string str = "hello";
string str2 = str;
Console.WriteLine(str == str2);      // True (রেফারেন্স একই)
Console.WriteLine(str.Equals(str2)); // True (কন্টেন্ট একই)

উদাহরণ ২: আলাদা অবজেক্ট, একই কন্টেন্ট

object str = "hello";
char[] values = {'h','e','l','l','o'};
object str2 = new string(values);
Console.WriteLine(str == str2);      // False (রেফারেন্স আলাদা)
Console.WriteLine(str.Equals(str2)); // True (কন্টেন্ট একই)

সারাংশ

  • ভ্যালু টাইপ (int, struct): == এবং Equals() একই কাজ করে (ভ্যালু চেক)
  • রেফারেন্স টাইপ (string, class): == রেফারেন্স চেক করে, Equals() কন্টেন্ট চেক করতে ওভাররাইড করা থাকে
  • স্ট্রিং-এ Equals() কন্টেন্ট তুলনা করে, == ও কন্টেন্ট তুলনা করে (অপারেটর ওভারলোড)
  1. C#-এ ওভাররাইডিং (Overriding) এবং শ্যাডোইং (Shadowing) এর পার্থক্য

  2. জাভাতে sleep() এবং wait() মেথডের পার্থক্য

  3. Go এবং Java-এর পার্থক্য

  4. পাইথনে মেথড এবং ফাংশনের পার্থক্য