日本免费精品_最新日韩一区_亚洲视频一区在线_a在线视频观看_天天射夜夜骑_粉嫩av一区二区三区_欧美中日韩免费视频_综合图区欧美_国内精品美女在线观看_午夜精品久久久久久久男人的天堂

首頁 > 編程 > C# > 正文

C#的==運算符和Equals()方法區別

2023-05-05 19:01:40
字體:
來源:轉載
供稿:網友

本文使用一個實例具體講解了C#中“==”與Equals()方法的區別.

using System;
using System.Collections.Generic;
using System.Text;
namespace ConsoleApplication1
{
 class Person
 {
    private string name;
    public string Name
    {
      get { return name; }
      set { name = value; }
    }
    public Person(string name)
    {
      this.name = name;
    }
 }
 class Program
 {
  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);
    Console.WriteLine(a.Equals(b));
    object g = a;
    object h = b;
    Console.WriteLine(g == h);
    Console.WriteLine(g.Equals(h));
    Person p1 = new Person("jia");
    Person p2 = new Person("jia");
    Console.WriteLine(p1 == p2);
    Console.WriteLine(p1.Equals(p2));
    Person p3 = new Person("jia");
    Person p4 = p3;
    Console.WriteLine(p3 == p4);
    Console.WriteLine(p3.Equals(p4));
    Console.ReadLine();
  }
 }
}

答案為何為true true false true false false true true

因為值類型是存儲在內存中的堆棧(以后簡稱棧),而引用類型的變量在棧中僅僅是存 儲引用類型變量的地址,而其本身則存儲在堆中。

"==" : 操作比較的是兩個變量的值是否相等,對于引用型變量表示的是兩個變量在堆中存儲的地址是否相同,即棧中的內容是否相同。

"equals" : 操作表示的兩個變量是否是對同一個對象的引用,即堆中的內容是否相同。

而字符串是一個特殊的引用型類型,在C#語 言中,重載了string 對象的很多方法方法(包括equals()方法),使string對象用起來就像是值類型一樣。

因此在上面的例子中,第一對輸出 ,字符串a和字符串b的兩個比較是相等的。

對于 第二對輸出 object g = a 和object h = b , 在內存中兩個不同的對象,所以在棧中的內容是不相同的,故不相等。而g.equals(h)用的是sting的equals()方法故相等(多太)。如果 將字符串a和b作這樣的修改:

string a="aa";
  string b="aa";

則,g和h的兩個比較都是相等的。這是因為系統并沒有給字符串b分配內存,只是將"aa"指向了b。所以a和b指向的是同一個字符串(字符串在 這種賦值的情況下做了內存的優化)。

對于p1和p2,也是內存中兩個不同的對象,所以在內存中的地址肯定不相同,故p1==p2會返回false,又因為p1和p2又是對不同對象 的引用,所以p1.equals(p2)將返回false。

對于p3和p4,p4=p3,p3將對對象的引用賦給了p4,p3和p4是對同一個對象的引用,所以兩個比較都返回true。

MSDN中就有介紹啊:

下面的規則概括了 Equals 方法和等號運算符 (==) 的實現準則:

每次實現 Equals 方法時都實現 GetHashCode 方法。這可以使 Equals 和 GetHashCode 保持同步。

每次實現相等運算符 (==) 時,都重寫 Equals 方法,使它們執行同樣的操作。這樣,使用 Equals 方法的基礎結構代碼(如 Hashtable 和 ArrayList)的行為就與用相等運算符編寫的用戶代碼相同。

每次實現 IComparable 時都要重寫 Equals 方法。

實現 IComparable 時,應考慮實現相等 (==)、不相等 (!=)、小于 ( <) 和大于 (>) 運算符的運算符重載。

不要在 Equals、GetHashCode 方法或相等運算符 (==) 中引發異常。

有關 Equals 方法的相關信息,請參見實現 Equals 方法。

在值類型中實現相等運算符 (==)

大多數編程語言中都沒有用于值類型的默認相等運算符 (==) 實現。因此,只要相等有意義就應該重載相等運算符 (==)。

應考慮在值類型中實現 Equals 方法,這是因為 System..::.ValueType 的默認實現和自定義實現都不會執行。

每次重寫 Equals 方法時都實現相等運算符 (==)。

在引用類型中實現相等運算符 (==)

大多數語言確實為引用類型提供默認的相等運算符 (==) 實現。因此,在引用類型中實現相等運算符 (==) 時應小心。大多數引用類型(即使是實現 Equals 方法的引用類型)都不應重寫相等運算符 (==)。

如果類型是 Point、String、BigNumber 等基類型,則應重寫相等運算符 (==)。每當考慮重載加法 (+) 和減法 (-) 運算符時,也應該考慮重載相等運算符 (==)。

好了,下面是考題,相信答案大家都知道了。

Console.WriteLine((2 + 2) == 4);
  object s = 1;
  object t = 1;
  Console.WriteLine(s == t);
  string a = "hello";
  string b = String.Copy(a);
  string c = "hello";
  Console.WriteLine(a == b);
  Console.WriteLine((object)a == (object)b);
  Console.WriteLine((object)a == (object)c);

答案:TRUE, FALSE, TRUE, FALSE, TRUE

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
www.狠狠干| 一区二区三区免费看视频| 国产在线导航| 日韩在线视频网| 精品国产1区2区3区| 在线观看av的网站| 正在播放日韩精品| 日韩激情一区| 国产手机视频一区二区| av中文天堂在线| lutube成人福利在线观看| 欧美亚洲免费高清在线观看| 日韩视频国产视频| 精品免费视频| 亚洲欧洲在线观看av| 精品国产欧美日韩| 久久91精品久久久久久秒播| 色综合影院在线| 国产欧美亚洲一区| 国产极品嫩模在线视频一区| 国产欧美日韩精品综合| 亚洲区中文字幕| 日韩视频在线免费看| 午夜精品一区二区三区视频免费看| 中文字幕精品在线视频| 欧美日韩国产一区中文午夜| 国产黄色在线网站| 欧美日韩久久久| 中文字幕在线导航| 成年人黄国产| 欧美日韩国产中文| 国产嫩草影院久久久久| 日韩视频专区| 免费一级欧美在线观看视频| 精品久久在线观看| 日韩视频1区| 日韩不卡高清视频| 欧美日韩国产高清一区| 日韩免费久久| 国产成人精品日本亚洲专区61| 中文字幕日韩国产| 91久久久久久久久| 亚洲成年人影院在线| 中文字幕在线观看国产| 在线看欧美日韩| 中文字幕在线观看视频www| 99国产一区| 蜜桃久久av| 刘玥91精选国产在线观看| 日韩免费精品| 蜜桃久久久久| 99亚洲视频| 欧美日韩在线观看成人| 欧美日韩精品国产| 日韩高清在线不卡| 国内精品露脸在线视频播放| 国产一级视频| 91精品观看| 欧美不卡一区二区| 欧美日韩精品在线观看| 国产在线看一区| 中文字幕在线看视频国产欧美| 在线日韩欧美| eeuss一区| 免费在线观看国产黄| 欧美日韩激情一区| 亚洲欧美韩国综合色| 亚洲乱码视频| 日韩欧美亚洲国产一区| 日韩欧美在线网站| 欧美成人精品在线| 日韩 欧美 亚洲| 激情婷婷亚洲| 欧美日韩中文字幕| 欧美日韩亚洲第一| 91久久久久| 91精品国产色综合久久不卡蜜臀| 日韩手机在线观看视频| 亚洲欧美久久234| 欧美亚洲天堂| 欧洲一级精品| 91精品国产自产| 日韩精品丝袜在线| 日韩一级二级三级| 日韩av一区二| 日韩精品大片| 精品九九久久| 日韩中文在线视频| 免费看黄资源大全高清| 首页国产欧美久久| 欧美日韩性视频| 最近免费中文字幕在线第一页| 欧美日韩午夜精品| 欧美日韩在线观看一区| 日本黄色一区二区| 日韩精品在线中文字幕| 日韩中文字幕在线观看视频| 日韩精品在线观| 中文字幕在线观看精品| 亚洲.国产.中文慕字在线| 国产99在线 | 亚洲| 亚洲国产91精品在线观看| 日韩亚洲欧美中文高清在线| 日韩欧美中文在线| 日韩欧美综合| 国产在线拍偷自揄拍精品| 中文国产字幕在线观看| 日韩亚洲不卡在线| 欧美中文字幕视频在线观看| 亚洲第一视频网站| 国产中文在线视频| 欧美日韩三级在线观看| 欧美日韩在线视频一区| 精品成人久久av| 国产在线不卡一区| 精品色蜜蜜精品视频在线观看| 欧美乱大交xxxxx免费| 国产在线一区二区视频| √天堂资源中文www| 欧美日韩在线视频免费观看 | 欧美日韩高清一区二区| 国产在线第一页| 日韩 国产 一区| 二区三区中文字幕| 国产中文在线播放| 精品久久人人做人人爽| 色欧美日韩亚洲| 日本不卡视频一区| 国产在线观看色| 日韩视频1区| 国产一区在线不卡| 欧美日韩精品欧美日韩精品一| 午夜国产福利在线观看| a天堂中文在线官网在线| 日韩在线欧美| 精品播放一区二区| 欧美一级日韩一级| 中文字幕伊人| 国产欧美日韩三级| 男人的天堂网av| 欧美日韩在线播放一区| 欧美色欧美亚洲高清在线视频| www.狠狠干| 91欧美在线视频| 欧美日韩国产大片| 欧美一级手机免费观看片| 国产偷国产偷亚洲清高网站 | 国产69精品久久久久孕妇国产69久久 | 亚洲综合视频一区| 成人久久在线| 日韩中文字幕视频在线| 国产三级视频在线| 中文在线一区二区| 在线日韩中文| 午夜av一区二区| 亚洲欧美视频一区二区三区| a在线观看免费视频| 国产高清精品二区| 一区二区不卡久久精品| 日韩不卡一二区| 一区二区在线视频播放| 国产免费不卡av| 亚洲福利一区二区三区| 在线中文字幕视频观看| 日韩欧美中文视频| 欧美日韩综合视频网址| 日韩三级精品电影久久久| 中文精品在线观看| 日韩中文字幕在线视频播放| 久久av免费| 精品日韩视频| 亚洲黄色www| 日韩精品在线免费播放| 一区三区视频| 亚洲视频电影在线| 欧美日韩视频免费看| 日韩精品a在线观看91| 日韩中文首页| 中文字幕在线精品| 久久精品欧美日韩精品| 精品国产欧美| 久久激情中文| 一本大道一区二区三区| 日本精品专区| 伊人国产视频| 日韩欧美在线1卡| 一本一道综合狠狠老| 91精品国产91久久久久| 欧美日韩精品是欧美日韩精品| 久久综合九色欧美综合狠狠| 亚洲一区视频在线观看视频| 99视频在线看| 国产在线www| 久久91精品久久久久久秒播| 国产午夜精品一区二区三区视频| 色偷偷一区二区三区| 亚洲第一香蕉网| 黄色国产网站在线观看| 精品熟女一区二区三区| 午夜高潮免费视频| www.三级.com| 欧美sm一区| 日韩一级二级三级| 国产 欧美 日韩 在线| 亚洲一区视频在线观看视频| 92久久精品| 精品免费久久久| 精品精品久久| 日韩久久精品视频| 国产区在线看| 久久99蜜桃精品久久久久小说| 99这里有精品视频| 国产劲爆久久| 亚洲视频 中文字幕| 在线不卡一区二区| 在线中文字幕视频观看| 欧美三级免费观看| 91亚洲欧美| 国产最顶级的黄色片在线免费观看| 国产91久久久久蜜臀青青天草二| 日韩欧美亚洲国产一区| 亚洲第一香蕉网| 亚洲日本精品视频| 欧美一卡2卡三卡4卡5免费| 日韩av一区二区在线| 久精品在线观看| 国产综合精品在线| 一区二区在线高清视频| 国产欧美三级| 激情久久99| 精品视频1区2区3区| 91欧美日韩| 成人久久久久| 亚洲区中文字幕| 国产 欧美在线| 日韩欧美在线看| 亚洲影视资源网| 国产亚洲短视频| 久久精品国产91精品亚洲| 日韩精品在线视频观看| 日韩欧美中文第一页| 在线观看一区| 日韩精品a在线观看91| 日韩精品视频在线免费观看| 麻豆精品99| 欧美日韩高清一区二区不卡| 欧美日韩日本视频| 欧美中文字幕在线| 国产乱国产乱老熟300部视频| 日韩中文字幕在线观看视频| 免费精品国产自产拍在| 91精品国产自产观看在线| 中文字幕在线精品| 国产三级精品网站| 国产欧美在线观看| 欧美中日韩在线| 天天综合天天综合| 国产农村妇女精品一二区| 亚洲经典中文字幕| 色综合久久88色综合天天免费| 欧美日韩激情一区| 国产午夜在线观看| 91精品国产手机| xxxxx性| 国产欧美日韩不卡免费| 日韩欧美综合视频| 色综合久久88色综合天天免费| 91精品国产综合久久精品app| 中文字幕在线观看欧美| 日韩精品丝袜在线| 在线视频三区| 欧美亚洲国产日韩2020| 视频一区视频二区中文| 亚洲成a人片在线www| 91精品国产91久久久久青草| 国产偷国产偷亚洲清高网站 | 日韩精品福利视频| 国产福利一区二区| 亚洲羞羞网站| 日韩专区中文字幕| 中文字幕一区不卡| 日本不卡视频一区| 中文字幕精品在线播放| 日韩免费精品| 婷婷精品视频| av免费网站在线| 中文字幕在线视频精品| 91精品国产91综合久久蜜臀| 中文亚洲免费| 日韩国产成人| 日本亚洲视频在线| 亚洲国产欧美日韩在线| 91久久大香伊蕉在人线| 欧美亚洲综合视频| 日韩一级精品| 亚洲热在线观看| 国产蜜臀在线| 日本精品在线| 三级精品视频| 色综合天天性综合| 91精品国产综合久久香蕉最新版| 精品调教chinesegay| 国产一区在线精品| 欧美日韩三级一区| 国产欧美日韩最新| av一卡二卡| 精品视频999| 91精品在线视频观看| 一本一道久久a久久精品综合蜜臀| 亚洲欧洲日产国码av系列天堂| 在线观看一区日韩| 一区二区视频国产| 亚洲最大黄色| 91精品国产自产在线丝袜啪| 在线日韩精品视频| 欧美日韩色综合| 樱花草www在线| 中文官网资源新版中文第二页在线观看| 91xxx在线观看| 中文字幕亚洲在| 蜜桃视频中文字幕| 日韩免费视频一区二区| 欧美日韩国产综合视频在线观看| 91精品国产91久久久久| xxxxx性| 亚洲精品中文字幕乱码三区| 亚洲国产专区| 日韩 国产 一区| 99精品人妻国产毛片| 日韩三级视频中文字幕| 91精品国产丝袜白色高跟鞋| 亚洲三级网站| 欧美亚洲视频在线看网址| 日韩国产在线观看一区| 亚洲视频中文字幕| 蜜臀91精品国产高清在线观看| 午夜视频在线观看一区| 日韩精品视频在线观看网址| 亚洲图片小说综合| 91麻豆免费视频网站| 中文字幕在线视频日韩| 日韩精品欧美| 国产一级久久久| 欧美中文字幕在线观看视频| 精品国产99| 日韩午夜中文字幕| 中文字幕在线观看欧美| 91精品综合久久久久久| 中文不卡在线| www.狠狠干| 亚洲专区一区| 久久精品国产成人一区二区三区| 欧美日韩国产一二三| 黄色资源在线观看| 欧美日韩久久久| 久草中文在线观看| 亚洲免费在线观看av| 日韩国产91| 91精品观看| 韩国av一区二区| 久久精品欧美日韩精品| 国产欧美日韩在线观看| 91精品国产综合久久久久| 欧美日韩精品欧美日韩精品| 一区二区三区在线播放视频| 激情久久99| 亚洲免费精品| 亚洲大胆人体av| 亚洲视频一二三四| 成人一区二区不卡免费| 顶级网黄在线播放| 日韩三级视频在线播放| 国产小视频在线观看免费| 国产小视频免费在线网址| 不卡视频一区二区| 精品熟女一区二区三区| 欧美一级免费在线观看| 欧美日中文字幕| 欧美1区免费| 91精品综合久久久久久| 亚洲黄色在线观看| 91日韩中文字幕| 国产 欧美 在线| 丰满少妇一区二区| 亚洲 欧美 精品| 国产欧美日韩精品在线| 中文字幕欧美日韩精品| 尤物av一区二区| 又黄又www的网站| 中文字幕国产亚洲| 一区二区在线观| 中文字幕亚洲欧美| 91精品999| 国产日韩av一区| 日韩午夜中文字幕| 欧美日韩亚洲综合| 被陌生人带去卫生间啪到腿软| 国产乱国产乱300精品| 日韩三级精品| 九九九精品视频|