gpt4 book ai didi

c# - 我的 List.Distinct() 有什么问题?

转载 作者:行者123 更新时间:2023-11-30 13:17:12 25 4
gpt4 key购买 nike

我有一个实现 IEqualityComparer 并覆盖以下方法的 MyItems 类:

public bool Equals(MyItems item1, MyItems item2)
{
return (item1.ID == item2.ID && item1.itemName.Equals(item2));
}
public int GetHashCode(MyItems item)
{
return item.ID.GetHashCode() ^ item.itemName.GetHashCode();
}

首先,为什么需要GetHashCode?我理解重写 Equals 方法,但是,GetHashCode 的必要性让我难以理解。

其次,这似乎不起作用。我在这里做错了什么吗?我不理解 GetHashCode 的地方, 可能是我绊倒的地方。

最佳答案

要回答您的第一个问题,只需查看 here了解更多信息。

回答你的第二个问题:你忘了 item2 应该是 item2.itemName

return (item1.ID == item2.ID && item1.itemName.Equals(item2.itemName));

关于c# - 我的 List<T>.Distinct() 有什么问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14130509/

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