gpt4 book ai didi

c# - LINQ To 对象 GroupBy 方法

转载 作者:可可西里 更新时间:2023-11-01 09:13:53 25 4
gpt4 key购买 nike

LINQ To Objects GroupBy 方法如何工作?它会为每个键查看整个集合吗?有什么方法可以告诉 GroupBy 方法集合已排序吗?

最佳答案

GroupBy,如果处理得当,将只在一次前向传递中起作用。基本实现(不是他们的)将可比到:

var data = new Dictionary<TKey, List<TValue>>(comparer);
foreach(var item in source) {
var key = keySelector(item);
List<TValue> list;
if(!data.TryGetValue(key, out list))
{
data.Add(key, list = new List<TValue>());
}
list.Add(itemSelector(item));
}

这基本上是按键分组,为每个唯一的键创建一个包含值的列表。

可以做一些事情,比如与最后一次看到的键进行比较(以帮助排序数据),但是......您需要进行概要分析以了解它是否值得。

关于c# - LINQ To 对象 GroupBy 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6076696/

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