<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      C#對象比較的總結

       簡單整型比較:

      從這里可以看出整型比較無論是==和Equals方法都是進行比較,比較“正常”

                  int m1 = 2;
                  int m2 = 2;
      
                  Console.WriteLine(m1 == m2);//值比較True
                  Console.WriteLine(m1.Equals(m2));//值比較True
                  Console.WriteLine(System.Object.ReferenceEquals(m1, m2));//引用False

       

      object比較:

      類型如果是Object,進行==比較時判斷的是地址是否相同,而Equals則是其虛方法判斷值是否正常

                  object m1 = 2;
                  object m2 = 2;
      
                  Console.WriteLine(m1 == m2);//引用類型引用比較False
                  Console.WriteLine(m1.Equals(m2));//Object虛方法值比較True
                  Console.WriteLine(System.Object.ReferenceEquals(m1, m2));//引用False

       

      整型賦值比較:

      這個就類似淺拷貝

                  int m1 = 3434;
                  int m2 = m1;
      
                  Console.WriteLine(m1 == m2);//值比較True
                  Console.WriteLine(m1.Equals(m2));//值比較True
                  Console.WriteLine(System.Object.ReferenceEquals(m1, m2));//引用比較False

       

      object和其他值類型比較:

                  object m1 = 2;
                  int m2 = 2;
      
                  Console.WriteLine(m1.Equals(m2));//Object虛方法值比較True
                  Console.WriteLine(System.Object.ReferenceEquals(m1, m2));//引用False

       

      字符串類型比較:

      字符串雖然是引用類型,但是C#對其做有特殊優化,從下面的結果就可以看出,==和Equals比較的是字符串內容相同,而字符串內容相同的兩個變量引用也相同,是經過運行時優化了的。

                  string m1 = "tg903eiotf38";
                  string m2 = "tg903eiotf38";
      
                  Console.WriteLine(m1 == m2);//字符串值比較True
                  Console.WriteLine(m1.Equals(m2));//字符串值比較True
                  Console.WriteLine(System.Object.ReferenceEquals(m1, m2));//字符串引用優化比較True

       

      現有一class:

             public class Student
              {
                  public long Id { get; set; }
      
                  public string Name { get; set; }
              }

       

      引用類型比較:

      簡單的引用類型,==和Equals比較的是都是地址引用

             Student m1 = new Student()
                  {
                      Id = 34,
                      Name = "朝野布告",
                  };
                  Student m2 = new Student()
                  {
                      Id = 34,
                      Name = "朝野布告",
                  };
      
                  Console.WriteLine(m1 == m2);//False
                  Console.WriteLine(m1.Equals(m2));//False
                  Console.WriteLine(System.Object.ReferenceEquals(m1, m2));//False

       

                  Student m1 = new Student()
                  {
                      Id = 34,
                      Name = "朝野布告",
                  };
                  Student m2 = m1;
      
                  Console.WriteLine(m1 == m2);//True
                  Console.WriteLine(m1.Equals(m2));//True
                  Console.WriteLine(System.Object.ReferenceEquals(m1, m2));//True

       

      引用類型賦值比較:

      類似淺拷貝

                  Student m1 = new Student()
                  {
                      Id = 34,
                      Name = "朝野布告",
                  };
                  Student m2 = m1;
      
                  m1.Name = "颶風";
      
                  Console.WriteLine(m1 == m2);//True
                  Console.WriteLine(m1.Equals(m2));//True
                  Console.WriteLine(System.Object.ReferenceEquals(m1, m2));//True
                  Console.WriteLine(m1.Name);//颶風
                  Console.WriteLine(m2.Name);//颶風

       

                  object m1 = new Student()
                  {
                      Id = 34,
                      Name = "朝野布告",
                  };
                  object m2 = m1;
                  
                  Console.WriteLine(m1 == m2);//True
                  Console.WriteLine(m1.Equals(m2));//True
                  Console.WriteLine(System.Object.ReferenceEquals(m1, m2));//True

       

      匿名類型比較:

      匿名類型==比較的是地址的引用,而哈希碼的生成看的是每個數據成員的值,因此其全部值一樣則哈希碼一樣,Equals判斷也一樣的道理

                  var m1 = new { Id = 34, Name = "朝野布告" };
                  var m2 = new { Id = 34, Name = "朝野布告" };
      
                  Console.WriteLine(m1 == m2);//False
                  Console.WriteLine(m1.GetHashCode());//32076894
                  Console.WriteLine(m2.GetHashCode());//32076894
                  Console.WriteLine(m1.Equals(m2));//True
                  Console.WriteLine(System.Object.ReferenceEquals(m1, m2));//False

       

      posted @ 2017-03-02 14:50  朝野布告  閱讀(716)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 日韩精品一区二区三区在线观看 | 国产成人高清精品亚洲| 亚洲狠狠婷婷综合久久久| 日本免费视频| 一区二区三区无码免费看| 亚洲中文字幕人妻系列| 苍山县| 任我爽精品视频在线播放| 国产精品一区二区久久精品无码 | 方山县| 午夜一区二区三区视频| 福利无遮挡喷水高潮| 欧美日韩精品一区二区三区高清视频 | av色综合久久天堂av色综合在| 漂亮人妻被强中文字幕久久| 国产精品午夜福利视频| 色爱无码av综合区| 国产一区视频一区欧美| 熟妇啊轻点灬大JI巴太粗| 舒城县| 在线无码午夜福利高潮视频| 精品亚洲无人区一区二区| 久久精品免视看国产成人| 国产精品会所一区二区三区| 中文字幕日韩精品亚洲一区| 精品国产欧美一区二区三区在线| 亚洲精品一区二区三区片| 国产女人看国产在线女人| 久久精品女人天堂av免费观看| 精品尤物国产尤物在线看| 久久精品女人天堂av| 97视频精品全国免费观看| 国产99在线 | 免费| 中文字幕有码高清日韩| 色综合久久综合香蕉色老大| 亚洲熟妇无码爱v在线观看| 国产av日韩精品一区二区| 国产首页一区二区不卡| 影音先锋男人站| 国产成人午夜福利在线播放| 色呦呦 国产精品|