Click here to Skip to main content
Click here to Skip to main content
Technical Blog

Tagged as

What is the difference between “==” and .Equals()?

, 26 Apr 2013 CPOL
Rate this:
Please Sign up or sign in to vote.
When we create any object there are two parts to the object one is the content and the other is reference to that content.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
When we create any object there are two parts to the object one is the content and the other is reference to that content.
So for example if you create an object as shown in below code:-
  1. “.NET interview questions” is the content.
  2. “o” is the reference to that content.
object o = ".NET Interview questions"; 
 “==” compares if the object references are same while “.Equals()” compares if the contents are same.
So if you run the below code both “==” and “.Equals()” returns true because content as well as references are same.

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>

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

Share

About the Author

Shivprasad koirala
Architect http://www.questpond.com
India India

I am a Microsoft MVP for ASP/ASP.NET and currently a CEO of a small
E-learning company in India. We are very much active in making training videos ,
writing books and corporate trainings. Do visit my site for 
.NET, C# , design pattern , WCF , Silverlight
, LINQ , ASP.NET , ADO.NET , Sharepoint , UML , SQL Server  training 
and Interview questions and answers


Comments and Discussions

 
GeneralClear! Pinmembernicolas mertens20-Jun-14 2:35 
QuestionGood Explanation PinmemberMember 1028643326-Feb-14 3:35 
GeneralMy vote of 5 PinmemberM Rayhan3-Jan-14 18:51 
GeneralMy vote of 3 PinmemberJohn Brett28-Apr-13 23:19 
GeneralRe: My vote of 3 PinmvpShivprasad koirala2-May-13 20:52 
Generalsmth wrong Pinmembermythteria26-Apr-13 22:32 
GeneralRe: smth wrong PinmvpShivprasad koirala26-Apr-13 22:54 
???? yes it is false....did i say anything different.
 
Skeet is Skeet...So i am a very small person to contradict him even in dreams.
My book .NET interview questions with 500 mostly asked questions in .NET world .NET Interview questions and answers

GeneralRe: smth wrong Pinmembermythteria29-May-13 3:01 
GeneralRe: smth wrong PinmemberMember 104448254-Dec-13 13:12 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.

| Advertise | Privacy | Terms of Use | Mobile
Web03 | 2.8.141220.1 | Last Updated 27 Apr 2013
Article Copyright 2013 by Shivprasad koirala
Everything else Copyright © CodeProject, 1999-2014
Layout: fixed | fluid