我正在研究我的以下课程,但Object Model
无法理解添加GetHashCode()
.Class
样本类
public class SampleClass
{
public int ID { get; set; }
public String Name { get; set; }
public String SSN_Number { get; set; }
public override bool Equals(Object obj)
{
if (obj == null || GetType() != obj.GetType())
return false;
SampleClass cls = (SampleClass)obj;
return (ID == cls.ID) &&
(Name == cls.Name) &&
(SSN_Number == cls.SSN_Number);
}
public override int GetHashCode()
{
return ID.GetHashCode() ^ Name.GetHashCode() ^ SSN_Number.GetHashCode();
}
}
假设我有一个Sample Class
对象列表,我想获得一个特定的索引。然后Equals()
可以帮我拿到那个记录。为什么要使用GetHashCode()
?