你的位置:首页 > 软件开发 > ASP.net > 浅析C#中的“==”和Equals

浅析C#中的“==”和Equals

发布时间:2015-06-30 22:00:03
1.“==”和Equals两个真的有关联吗? 对于“==”和Equals大多数网友都是这样总结的:“==” 是比较两个变量的 ...

浅析C#中的“==”和Equals

1.“==”和Equals两个真的有关联吗?

         对于“==”和Equals大多数网友都是这样总结的:

              1. “==” 是比较两个变量的值相等。
              2. Equals是比较两个变量是否指向同一个对象。

         如:这篇文章,并以这篇文章中的例子为例。

    public class Person    {      public Person(get='_blank'>string name)      {        this.Name = name;      }      public string Name { get; set; }    }    static void Main(string[] args)    {      string a = new string(new char[] { 'h', 'e', 'l', 'l', 'o' });      string b = new string(new char[] { 'h', 'e', 'l', 'l', 'o' });      Console.WriteLine(a == b);     //true      Console.WriteLine(a.Equals(b));  //true      object g = a;      object h = b;      Console.WriteLine(g == h);     //false      Console.WriteLine(g.Equals(h));  //true      Person p1 = new Person("jia");      Person p2 = new Person("jia");      Console.WriteLine(p1 == p2);    //false      Console.WriteLine(p1.Equals(p2)); //false      Person p3 = new Person("jia");      Person p4 = p3;      Console.WriteLine(p3 == p4);    //true      Console.WriteLine(p3.Equals(p4)); //true      Console.ReadKey();    }

3.Equals的重写 

       还是上面例子:

        

      string a = new string(new char[] { 'h', 'e', 'l', 'l', 'o' });      string b = new string(new char[] { 'h', 'e', 'l', 'l', 'o' });      Console.WriteLine(a == b);     //true      Console.WriteLine(a.Equals(b));  //true

 

海外公司注册、海外银行开户、跨境平台代入驻、VAT、EPR等知识和在线办理:https://www.xlkjsw.com

原标题:浅析C#中的“==”和Equals

关键词:C#

C#
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

可能感兴趣文章

我的浏览记录