当前位置:K88软件开发文章中心编程语言.NET.NET01 → 文章内容

关于String.Equals(object,object)和(object==object )的比较

减小字体 增大字体 作者:佚名  来源:翔宇亭IT乐园  发布时间:2018-12-31 11:14:28

:2010-01-27 10:44:00

情况一
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

    结论:
    String.Equals();方法(是String类从它的超类Object中继承的)被用来检测两个对象是否相等,即两个对象的内容是否相等。
    ==用于比较引用和比较基本数据类型时具有不同的功能:
    比较基本数据类型,如果两个值相同,则结果为true 
    而在比较引用时,如果引用指向内存中的同一对象(即内存地址是一样的),结果为true。


关于String.Equals(object,object)和(object==object )的比较