gpt4 book ai didi

c# - 检查 list 是否已经在集合中

转载 作者:行者123 更新时间:2023-11-30 19:04:01 26 4
gpt4 key购买 nike

通常我会使用哈希表:

if(!myHash.Contains(someId))
{
// insert to hash
}

如果我有一个列表,我如何检查使用包含?

现在我只是创建一个用户 ID 的哈希表,并检查它,但是有没有一种方法只使用列表?

最佳答案

您可以使用 List<T>.Contains - 请注意这将是线性搜索,即 O(N) 而不是 HashMap 的 O(1) .如果您的列表不是太大,则问题不大。当然,您仍然需要覆盖 Equals 的项目除非您对引用身份感到满意,否则适当。

如果你有一个大列表,你需要对其进行重复的包含测试,你可能只想创建一个 HashSet<T>从现有列表中。如果您要经常操作列表,您可能希望将列表和集合一起封装在您自己的集合中。不过,您需要弄清楚您想要哪种语义——如果您两次添加相同的 ID,您希望发生什么?应该忽略第二个电话吗?如果你不这样做就可以逃脱,那就更好了:)

关于c# - 检查 list<MyObject> 是否已经在集合中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1555585/

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