亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > .NET > 正文

C#中的Equals、RefrenceEquals和==的區別與聯系

2024-07-10 13:23:15
字體:
來源:轉載
供稿:網友
C#中判斷兩個對象是否相等有Equals、RefrenceEquals和==三種,其中==為運算符,其它兩個為方法,而Equals又有兩種版本,一個是靜態的,一個是虛擬的,虛擬的可以被實體類重寫,靜態的在方法體內也是調用虛擬的,如下:

復制代碼 代碼如下:


public static bool Equals(object objA, object objB)
{
return ((objA == objB) || (((objA != null) && (objB != null)) && objA.Equals(objB)));
}
public virtual bool Equals(object obj)
{
return InternalEquals(this, obj);
}
[MethodImpl(MethodImplOptions.InternalCall)]
internal static extern bool InternalEquals(object objA, object objB);
[ReliabilityContract(Consistency.WillNotCorruptState, Cer.Success)]
public static bool ReferenceEquals(object objA, object objB)
{
return (objA == objB);
}


以上為reflector反編譯的代碼。它們的區別與聯系總結如下:
1. RefrenceEquals顧名思義,在任何情況下都是判斷兩個對象的引用是否相等,對于值類型,因為每次判斷前都必須進行裝箱操作,也就是每次都生成了一個臨時的object,因而永遠返回false。String類型比較特殊,只要字符相同永遠是同一個引用,字符不同就是不同的引用,即使通過傳遞賦值如:string str1 = "a"; string str2 = str1; str2 = "b";這時str1,str2依舊是不同引用。

2. ==與Equals并無本質區別,它們大多數情況下都是一樣的,對于基本值類型,判斷的是值是否相等,對于引用類型,判斷的則是引用是否一樣。值得注意的是,自定義的值類型struct,本身并不支持運算符==,強行使用將會出現編譯錯誤。并且,鑒于Equals是虛方法,它可以被具體類重寫,因此需要具體問題具體分析。

3. 前面提過,靜態的Equals本質上也是調用虛擬的Equals,它們的區別在于調用時,虛擬的要考慮對象是否為空,否則會拋異常,而靜態的則無需考慮。
以下為測試代碼:

復制代碼 代碼如下:


class Program
{
static void Main(string[] args)
{
//AAA a1 = new AAA { Name = "a1", Age = 22 };
//AAA a2 = new AAA { Name = "a1", Age = 22 };
//int a1 = 123;
//int a2 = 123;
string a1 = "abc";
string a2 = "abc";
Console.WriteLine(string.Format("==: {0}", a1 == a2));
Console.WriteLine(string.Format("Equals: {0}", a1.Equals(a2)));
Console.WriteLine(string.Format("Static Equals: {0}", Object.Equals(a1, a2)));
Console.WriteLine(string.Format("ReferenceEquals: {0}", ReferenceEquals(a1, a2)));
Console.Read();
}
}
// Class or Struct
struct AAA
{
public string Name { get; set; }
public int Age { get; set; }
}

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲国产天堂久久综合| 97色伦亚洲国产| 最近中文字幕2019免费| 久久久亚洲欧洲日产国码aⅴ| 日韩激情av在线免费观看| 国产精品91久久久| 色悠悠久久88| 日韩精品视频在线播放| 在线亚洲国产精品网| 欧美亚洲在线观看| 国模精品系列视频| 亚洲成人激情在线观看| 亚洲大胆美女视频| 黑人巨大精品欧美一区免费视频| 欧美大肥婆大肥bbbbb| 亚洲国产精品久久久| 91国产美女在线观看| 亚洲欧美另类自拍| 亚洲xxxx妇黄裸体| 国产精品视频一区国模私拍| 中文字幕久久久av一区| 日韩国产高清污视频在线观看| 最近2019免费中文字幕视频三| 久久久久久久网站| 亚洲大胆人体视频| 伊人伊人伊人久久| 欧美日韩日本国产| 欧美激情xxxx| 欧美高清视频免费观看| 日韩免费精品视频| 欧美国产视频日韩| 亚洲一区二区日本| 成人夜晚看av| 中文字幕亚洲激情| 日韩高清中文字幕| 亚洲精品国偷自产在线99热| 一本色道久久综合狠狠躁篇的优点| 国产精品99久久久久久久久| 精品国产999| 日韩在线视频观看正片免费网站| 成人伊人精品色xxxx视频| 欧美第一黄色网| www亚洲精品| 久久精品国产亚洲精品| 久久久91精品国产一区不卡| 亚洲女人初尝黑人巨大| 亚洲经典中文字幕| 亚洲色图国产精品| 亚洲综合日韩中文字幕v在线| 91网在线免费观看| 青青草99啪国产免费| 97在线观看免费高清| 欧美精品精品精品精品免费| 国产精品久久久久久久app| 2025国产精品视频| 亚洲欧美激情精品一区二区| 91香蕉嫩草神马影院在线观看| 96国产粉嫩美女| 日韩欧美中文字幕在线观看| 亚洲成人精品视频在线观看| 秋霞午夜一区二区| 亚洲色图综合网| 久久99久久99精品中文字幕| 国产精品日韩在线一区| 日韩中文字幕在线播放| 亚洲最大激情中文字幕| 懂色av中文一区二区三区天美| 日韩免费高清在线观看| 性欧美激情精品| 久久全国免费视频| 欧美肥臀大乳一区二区免费视频| 国外成人免费在线播放| 国产精品亚洲片夜色在线| 在线观看欧美www| 国产69精品久久久| 国产在线一区二区三区| 97在线精品国自产拍中文| 最好看的2019的中文字幕视频| 久久偷看各类女兵18女厕嘘嘘| 久久精品91久久久久久再现| 91精品啪aⅴ在线观看国产| 欧美激情精品久久久久久免费印度| 中文字幕欧美日韩在线| 国产精品综合网站| 欧洲亚洲免费视频| 国产精品偷伦视频免费观看国产| 亚洲深夜福利网站| 91九色国产社区在线观看| 久久视频在线免费观看| 久久影视电视剧凤归四时歌| 成人激情黄色网| 亚洲天堂久久av| 欧美一乱一性一交一视频| 成人a级免费视频| 91av国产在线| 久久福利网址导航| 欧美黄色片在线观看| 97视频在线观看免费高清完整版在线观看| 亚洲国产精彩中文乱码av在线播放| 九色91av视频| 久久久av电影| 久久久电影免费观看完整版| 亚洲а∨天堂久久精品9966| 狠狠久久五月精品中文字幕| 在线不卡国产精品| 国产va免费精品高清在线观看| 日韩精品免费电影| 97国产一区二区精品久久呦| 国产精品一二三视频| 亚洲性线免费观看视频成熟| 国产日韩欧美夫妻视频在线观看| 色噜噜国产精品视频一区二区| 一区二区在线免费视频| 另类少妇人与禽zozz0性伦| 欧美黑人xxx| 国产亚洲精品久久| 欧美日产国产成人免费图片| 韩国三级电影久久久久久| 久久综合伊人77777蜜臀| 亚洲一区亚洲二区亚洲三区| 亚洲男人天堂手机在线| 在线亚洲午夜片av大片| 欧美成人精品三级在线观看| 日韩精品丝袜在线| 91老司机精品视频| 欧美一区二区三区艳史| 日韩欧美主播在线| 久久久久久国产精品久久| 97不卡在线视频| 亚洲美女又黄又爽在线观看| 亚洲精品美女久久| 亚洲国产精品一区二区三区| 亚洲欧美日韩中文在线制服| 久久久久久久影院| 亚洲伊人第一页| 欧美在线视频在线播放完整版免费观看| 日韩最新av在线| 欧美日韩中文字幕在线视频| 91精品综合久久久久久五月天| 久久99久国产精品黄毛片入口| 欧美视频一二三| 97视频在线观看免费| 久久影视电视剧免费网站清宫辞电视| 日韩成人小视频| 国产香蕉一区二区三区在线视频| 91高潮精品免费porn| 日韩av在线一区二区| 欧美第一页在线| xxxxx成人.com| 91成人在线观看国产| 色噜噜狠狠狠综合曰曰曰88av| 中文字幕精品久久久久| 亚洲国产毛片完整版| 亚洲毛片一区二区| 国内伊人久久久久久网站视频| 国产亚洲一区二区在线| 中文字幕在线看视频国产欧美| 91香蕉嫩草神马影院在线观看| 国模吧一区二区三区| 国产精品r级在线| 亚洲成人久久网| 国产精品免费在线免费| 美日韩丰满少妇在线观看| 国产视频一区在线|