Wednesday, 30 March 2011

Filled Under:

Difference between Equal() and ==

  • Equals() method compares the state of an object i.e. it compares the contents of the two objects.
  • == compares the instance of the object i.e. it comparing the identifier(references).

Example :
 
string s1 = "test";
string s2 = "test";
string s3 = new string(new char[] { 't', 'e', 's', 't' });
object s4 = s3;
Console.WriteLine("{0} {1} {2}", object.ReferenceEquals(s1, s2), s1 == s2, s1.Equals(s2));
Console.WriteLine("{0} {1} {2}", object.ReferenceEquals(s1, s3), s1 == s3, s1.Equals(s3));
Console.WriteLine("{0} {1} {2}", object.ReferenceEquals(s1, s4), s1 == s4, s1.Equals(s4));

Output :

True True True
False True True
False False True

Ref: here, here

0 comments:

Post a Comment