gpt4 book ai didi

c# - 为什么我们在对象模型项目中需要 GetHashCode() 函数?

转载 作者:太空宇宙 更新时间:2023-11-03 16:29:55 24 4
gpt4 key购买 nike

<分区>

Possible Duplicate:
Why is it important to override GetHashCode when Equals method is overriden in C#?

我正在查看我的对象模型 中的以下类,无法理解在Class 中添加GetHashCode() 的重要性。

示例类

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()

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com