gpt4 book ai didi

c# - Linq to Collections Group 通过取回原始实体

转载 作者:行者123 更新时间:2023-11-30 14:15:50 25 4
gpt4 key购买 nike

我正在使用以下代码对一组工具进行分组:

 var filteredTools = from t in tools
group t by new { t.ModuleName,t.Number}
into g
select new { ModuleName = g.Key, Values = g };

tools 是一个简单的集合,定义如下:

List<Tool> tools

执行分组后,我得到 3 行(从 40 行),因此分组工作正常。行的键为 g.Key,Values 是分组条件。无论如何将它与原始工具相关联。也许每个工具的 key 应该是唯一的,这样在执行分组后我可以从工具集合中获取原始工具。

最佳答案

是的,这些工具仍然存在于每个组中:

foreach (var group in filteredTools) 
{
// This is actually an anonymous type...
Console.WriteLine("Module name: {0}", group.ModuleName);
foreach (Tool tool in group.Values)
{
Console.WriteLine(" Tool: {0}", tool);
}
}

老实说,您并不真的需要此处的匿名类型来进行选择。你可以使用:

var filteredTools = tools.GroupBy(t => new { t.ModuleName,t.Number});
foreach (var group in filteredTools)
{
// This is actually an anonymous type...
Console.WriteLine("Module name: {0}", group.Key);
foreach (Tool tool in group)
{
Console.WriteLine(" Tool: {0}", tool);
}
}

关于c# - Linq to Collections Group 通过取回原始实体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9098915/

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