情況一
string s = "Test";
string t = string.Copy(s);
Console.WriteLine(s == t);
Console.WriteLine((object)s == (object)t);
輸出為true false
情況二
string s = "Test";
string t = s;
Console.WriteLine(s == t);
Console.WriteLine((object)s == (object)t);
輸出為true true
情況三
string s = "Test";
string t = string.Copy(s);
Console.WriteLine(s.Equals(t)); //true
Console.WriteLine((object)s.Equals((object)t));//true
情況四
string s = "Test";
string t = s;
Console.WriteLine(s.Equals(t)); //true
Console.WriteLine((object)s.Equals((object)t));//true
結(jié)論:
String.Equals();方法(是String類(lèi)從它的超類(lèi)Object中繼承的)被用來(lái)檢測(cè)兩個(gè)對(duì)象是否相等,即兩個(gè)對(duì)象的內(nèi)容是否相等。
==用于比較引用和比較基本數(shù)據(jù)類(lèi)型時(shí)具有不同的功能:
比較基本數(shù)據(jù)類(lèi)型,如果兩個(gè)值相同,則結(jié)果為true
而在比較引用時(shí),如果引用指向內(nèi)存中的同一對(duì)象(即內(nèi)存地址是一樣的),結(jié)果為true。
新聞熱點(diǎn)
疑難解答
圖片精選