2013年2月23日 星期六

[C#] 物件比對(Equals)


這篇文章介紹的很詳細  C# - Equals和等於等於( 等於比較運算式 )


總結來說:
1. 定義一個 Class 就會是 object的子類別,可以覆寫Equals函式。
2. 如果不覆寫Equals函式,物件比對時只會比對記憶體位置,即使裡面屬性值相同,
    也有可能return  false

所以記得要覆寫Equals ~~


public class XXX
{


public override bool Equals(object _obj)
        {
            if (this == null || _obj == null)
            {
                throw new NullReferenceException();
            }
            else
            {
                //將_obj轉型成目前的類別
                XXX _cmpObj = _obj as XXX;
                
//開始做比對
                 //...
            }
        }
 

沒有留言:

張貼留言