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