C# ==、object.Equals()、ReferenceEquals区别


var a=new object();
var b=a;
Debug.Log(a==b);//True
Debug.Log(object.Equals(a,b));//True
Debug.Log(object.ReferenceEquals(a,b));//True

Debug.Log(1==1);//True
Debug.Log(object.Equals(1,1));//True
Debug.Log(object.ReferenceEquals(1,1));//False

var c=1;
var d=1;
Debug.Log(c==1);//True
Debug.Log(object.Equals(c,1));//True
Debug.Log(object.ReferenceEquals(c,1));//False
Debug.Log(object.ReferenceEquals(c,d));//False

var e="hello";
var f="hello";
Debug.Log(e==f);//True
Debug.Log(object.Equals(e,"hello"));//True
Debug.Log(object.Equals(e,f));//True
Debug.Log(object.ReferenceEquals(e,f));//True

var g=true;
var h=true;
Debug.Log(g==h);//True
Debug.Log(object.Equals(g,true));//True
Debug.Log(object.Equals(g,h));//True
Debug.Log(object.ReferenceEquals(g,h));//False


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM