==
: Checks for reference equality (whether two references point to the same object) for reference types and value equality for value types.
.Equals()
: Virtual method. Can be overridden to provide custom equality logic.
- Value types override it for value equality.
- Default for reference types is reference equality.
Example:
string str1 = "hello";
string str2 = "hello";
Console.WriteLine(str1 == str2); // True
Console.WriteLine(str1.Equals(str2)); // True
MyClass obj1 = new MyClass { Value = 10 };
MyClass obj2 = new MyClass { Value = 10 };
Console.WriteLine(obj1 == obj2); // false, different references
Console.WriteLine(obj1.Equals(obj2)); // false unless .Equals is overriden.
Leave a Reply