可能重複:
Why check this != null?爲什麼String.Equals(Object obj)檢查這個== null?
// Determines whether two strings match.
[ReliabilityContract(Consistency.WillNotCorruptState, Cer.MayFail)]
public override bool Equals(Object obj)
{
//this is necessary to guard against reverse-pinvokes and
//other callers who do not use the callvirt instruction
if (this == null)
throw new NullReferenceException();
String str = obj as String;
if (str == null)
return false;
if (Object.ReferenceEquals(this, obj))
return true;
return EqualsHelper(this, str);
}
我不明白的是,它正在檢查當前實例,this
,對空的事實。評論有點混亂,所以我想知道那個評論究竟意味着什麼?
任何人都可以舉一個例子,說明如果這個檢查不存在,這是否意味着我也應該把這個檢查放在我的課程中?
@FlorianGreinacher:不是可能的重複,但幾乎是一個確切的重複,哈哈。我想知道爲什麼當我寫我的問題時,它沒有出現在「相關」中? – 2012-04-17 01:18:56