gpt4 book ai didi

c# - Lookup() 和 Dictionary(Of list()) 之间的区别

转载 作者:IT王子 更新时间:2023-10-29 03:31:36 27 4
gpt4 key购买 nike

我正在努力思考哪些数据结构最有效以及何时/何地使用哪些数据结构。

现在,可能是我对结构的理解不够好,但是 ILookup(of key, ...)Dictionary(of键,列表(...))

此外,我想在哪里使用 ILookup 以及在程序速度/内存/数据访问等方面效率更高的地方?

最佳答案

两个显着差异:

  • Lookup是不可变的。耶 :)(至少,我相信具体的 Lookup 类是不可变的,并且 ILookup 接口(interface)不提供任何可变成员。当然,可能还有其他可变实现。)
  • 当您查找查找中不存在的键时,您会得到一个空序列而不是 KeyNotFoundException . (因此没有 TryGetValue,AFAICR。)

它们在效率上可能是等效的——查找可能会使用 Dictionary<TKey, GroupingImplementation<TValue>>例如,在幕后。根据您的要求在它们之间进行选择。我个人发现查找通常比 Dictionary<TKey, List<TValue>> 更合适。 ,主要是由于上面的前两点。

请注意,作为实现细节,IGrouping<,> 的具体实现用于值工具 IList<TValue> ,这意味着与 Count() 一起使用是有效的, ElementAt()等等

关于c# - Lookup() 和 Dictionary(Of list()) 之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13362490/

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