rem*_*emo 3 c# linq collections
我有一个对象列表,这些对象被其中一个属性称为"ID"的关键字或唯一标识.我需要对不同ID的所有对象进行分组,这些对象将具有相同的其余属性.
示例:Obj具有属性"ID","E1","E2","E3".注意这些都是Obj的所有属性.
我知道所有的Obj列表的ID都不同,但是如果不同的Obj的E1,E2和E3相同,我想分组.所以我会有一系列具有相同E1,E2,E3但不同ID的Obj.
在C#中处理这个问题最简单的方法是什么?
好吧,像这样的东西适用于LINQ:
var groups = collections.GroupBy(x => new { x.E1, x.E2, x.E3 });
Run Code Online (Sandbox Code Playgroud)
这将为您提供一系列可以迭代的分组.例如:
var groups = collections.GroupBy(x => new { x.E1, x.E2, x.E3 });
foreach (var group in groups)
{
Console.WriteLine("Key: {0}", group.Key);
foreach (var item in group)
{
Console.WriteLine(" ID: {0}", item.ID);
}
}
Run Code Online (Sandbox Code Playgroud)