.net Linq中的特殊分组
我不太清楚如何解释这个问题 我有这样的想法:.net Linq中的特殊分组,.net,json,.net,Json,我不太清楚如何解释这个问题 我有这样的想法: 0 1 A 2 3 A 1 1 A 0 1 B 2 5 B 我想要一套这样的: A,[{0,1},{2,3},{1,1}] B,[{0,1},{2,5}] 您还没有提供有关数据结构的任何信息,因此我将在这里使用元组。要实现您的目标,您可以使用LINQ: 您可以打印查找表: foreach (var grouping in result) Console.
0 1 A
2 3 A
1 1 A
0 1 B
2 5 B
我想要一套这样的:
A,[{0,1},{2,3},{1,1}]
B,[{0,1},{2,5}]
您还没有提供有关数据结构的任何信息,因此我将在这里使用元组。要实现您的目标,您可以使用LINQ: 您可以打印查找表:
foreach (var grouping in result)
Console.WriteLine(
"{0}: {1}",
grouping.Key,
String.Join(", ", grouping.Select(tuple => tuple.ToString()))
);
输出为:
A: (0, 1), (2, 3), (1, 1)
B: (0, 1), (2, 5)
你可以使用ToLookup,而不是ToLookup。不同之处在于,一旦计算出查找表,它就会存储在内存中。如果使用GroupBy,则每次使用foreach迭代结果时都会执行分组。此外,如果您的数据源支持类似LINQ的实体框架,则使用GroupBy可以在服务器端执行分组,从而提高性能。这些项目当前位于何处?您是否有可能将输入和输出数据作为可编译的c代码提供? A: (0, 1), (2, 3), (1, 1) B: (0, 1), (2, 5)