【发布时间】:2020-07-03 15:44:42
【问题描述】:
Lookup<string, string> 与 List<(string, string)>?使用foreach 循环哪个更快?
如果您不需要搜索特定的键值对列表(键可能重复),使用元组的List 会更慢吗? Lookup 除了它的方法还有其他好处吗?
编辑:
非常聪明的评论提到了这一点,我应该将它添加到战斗中:
Lookup<string, string> vs List<(string, string)> vs Dictionary<string, List<string>>
【问题讨论】:
-
他们真的很不一样。
Lookup<string, string>更像是Dictionary<string, List<string>>而不是List<(string, string)>。 -
Race your horses。对于查找键的值,元素越多查找越快,元素越少线性搜索越快。 “更快”、“更多”和“更少”都取决于您的具体情况,这就是您需要进行剖析的原因。
-
您能否举一个输入数据的示例,以及您是如何创建查找和列表的?
-
您没有提到任何关于使用键作为键的内容,在这种情况下,将某些东西放入专为查找而设计的集合中是没有意义的键有效。
-
你还没有解释过你是否真的在这个键上执行过任何查找,或者你是否从根本上你只想要一个项目序列。
标签: c# .net .net-core collections