gpt4 book ai didi

c# - LINQ Group by Query 中的组号

转载 作者:太空狗 更新时间:2023-10-29 20:55:42 24 4
gpt4 key购买 nike

我一直在使用 101 LINQ Samples使用 LINQ 弄湿我的脚。这是一个很好的第一个资源,但我看不到我当前需要的示例。

我只需要为每个组关联一个连续的组号。我有一个可行的解决方案:

var groups =
from c in list
group c by c.Name into details
select new { Name = details.Key, DetailRecords = details };


int groupNumber = 0;
foreach (var group in groups)
{
//
// process each group and it's records ...
//

groupNumber++;
}

但是,我确信也可以使用 LINQ 来生成 groupNumber。怎么办?

最佳答案

这取决于您的确切需求,但您可以使用:

var groupArray = groups.ToArray();

同样,您可以使用ToList。这些数据结构是顺序的,每一组都有一个索引。


如果您确实需要您创建的对象的索引,另一种选择是使用Select:

list.GroupBy(c => c.Name)
.Select((details, ind) =>
new
{
Name = details.Key,
DetailRecords = details,
Index = ind
});

关于c# - LINQ Group by Query 中的组号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3283251/

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