gpt4 book ai didi

c# - 为什么 IDictionary 不/不能实现 ILookup

转载 作者:行者123 更新时间:2023-11-30 14:18:02 27 4
gpt4 key购买 nike

我想这并不重要,我只是好奇。

如果字典和查找之间的区别是一个是一对一的,另一个是一对多的,那么不会通过另一个更具体/派生的版本来字典吗?

查找是键/值对的集合,其中键可以重复。字典是键/值对的集合,其中键不能重复。

为什么 IDictionary 不能实现 ILookup?

最佳答案

我怀疑这主要是因为意图不同。

ILookup<T,U>专为处理值集合而设计。 IDictionary<T,U>旨在使用单个值(当然可以是一个集合)。

虽然您当然可以拥有 IDictionary<T,U>实现通过返回 IEnumerable<U> 来实现这一点使用单个值,这会造成混淆,特别是如果您的“U”本身就是一个集合(即:List<int>)。在那种情况下,会 ILookup<T,U>.Item返回 IEnumerable<List<int>> ,还是应该对 IEnumerable<T> 进行某种类型的检查?值类型,然后“扁平化”呢?无论哪种方式,它都会看起来令人困惑,并增加可疑的值(value)。

关于c# - 为什么 IDictionary<TKey,TValue> 不/不能实现 ILookup<TKey,TValue>?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5099492/

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