方法Equals和操作符==的区别
http://www.codeproject.com/Articles/584128/What-is-the-difference-between-equalsequals-and-Eq
So for example if you create an object as shown in below code:-
- “.NET interview questions” is the content.
- “o” is the reference to that content.
object o = ".NET Interview questions";
object o = ".NET Interview questions"; object o1 = o; Console.WriteLine(o == o1); Console.WriteLine(o.Equals(o1)); Console.ReadLine();
True
True
Now consider the below code where we have
same content but they point towards different instances. So if you run the below
code both “==” will return false and “.Equals()” will return true.
object o = ".NET Interview questions"; object o1 = new string(".NET Interview questions".ToCharArray()); Console.WriteLine(o == o1); Console.WriteLine(o.Equals(o1)); Console.ReadLine();
False
True
When you are using string data type it
always does content comparison. In other words you either use “.Equals()” or
“==” it always do content comparison.
You can also watch the following video of the above explanation at C# interview questions and answers :- Difference between "==" and ".Equals()" ?
<OBJECT type="application/x-shockwave-flash" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=3,0,0,0" WIDTH="640" HEIGHT="360" data="http://www.youtube.com/v/3IReFdq5d7o?version=3&feature=player_detailpage"></OBJECT>