gpt4 book ai didi

.net - 使用 recordId 作为哈希码是个坏主意吗?

转载 作者:行者123 更新时间:2023-12-02 06:44:32 25 4
gpt4 key购买 nike

假设我有一个直接来自数据库的简单 DTO 对象,并且 Id 是一个绝对唯一的 recordId,那么执行以下操作是个好主意吗?

public class DTO
{
public int Id { get; set; }

public override bool Equals(object obj)
{
return (Id == ((DTO)obj).Id);
}

public override int GetHashCode()
{
return Id;
}
}

我有点怀疑的原因是因为我没有在我周围的代码中看到它,而不是像这样的代码

int hash = 7;
hash = 89 * hash + pageId.hashCode();
hash = 89 * hash + recordId;
return hash;

最佳答案

哈希码的约定是“两个相等的对象必须具有相同的哈希码”。这意味着用于确定相等性的任何字段都必须在构成哈希码的位中表示。由于您的平等契约(Contract)仅引用 ID,因此这是哈希码中唯一需要的东西。

关于.net - 使用 recordId 作为哈希码是个坏主意吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2103280/

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