gpt4 book ai didi

c# - 使用 Dictionary 代替 List 来加快对 Contains() 的调用

转载 作者:太空狗 更新时间:2023-10-29 19:53:09 25 4
gpt4 key购买 nike

我对 C# 中的泛型集合有疑问。如果我需要存储项目的集合,并且我经常需要检查项目是否在集合中,使用字典而不是列表会更快吗?

我听说检查某个项目是否在集合中与列表的大小相关是线性的,与字典的大小相关是常量。使用 Dictionary 然后将 Key 和 Value 设置为每个键值对的同一对象是其他程序员在这种情况下经常做的事情吗?

感谢您花时间阅读本文。

最佳答案

是的,是的。也就是说,您可能想要使用 HashSet,因为您不需要键和值,您只需要一组项目。

还值得注意的是,Dictionary 是在 C# 2.0 中添加的,而 HashSet 是在 3.5 中添加的,因此在这期间使用当你想要一个 Set 只是因为那是你所有的东西时的字典(没有滚动你自己的)。当我被迫这样做时,我只是在值中插入 null,而不是将项目作为键和值,但想法是一样的。

关于c# - 使用 Dictionary<Foo, Foo> 代替 List<Foo> 来加快对 Contains() 的调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10608621/

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