我有一个包含5个字段x1,x2,x3,x4,x5的列表(mylist) 我想通过x1和x2按mylist分组,然后有一个新列表resultList,其中包含x1和x2分组的所有5个字段x1,x2,x3,x4,x5。 我想用Linq
来做 var result = mylist.GroupBy(row => new { row.x1, row.x2})
这给出了一个包含两个字段row.x1,row.x2的列表。我怎样才能得到其余的字段
编辑:假设这是mylist: x1 x2 x3 x4 x5
1 '=C' 'a' 'b' 'c'
2 '+A' 'd' 'e' 'f'
1 '=C' 'g' 'h' 'i'
4 '=C' 'j' 'k' 'l'
我希望得到这样的结果:
x1 x2 x3 x4 x5
1 '=C' 'a' 'b' 'c'
1 '=C' 'g' 'h' 'i'
4 '=C' 'j' 'k' 'l'
2 '+A' 'd' 'e' 'f'
答案 0 :(得分:0)
在分组之后,您希望获得具有最小值或最大值等的x3,x4,x5值。
x1 | x2 | x3 |
A | C | 1个
A |乙| 2
当你对X1和X2进行分组时,它只给出A,B但是你必须告诉你要获得x3列的哪个值。
答案 1 :(得分:0)
var res = (from m in mylist
group m by new {m.x1 , m.x2} into grouped
select new { key = grouped.Key , values = grouped.ToList() }).ToList();
foreach (var re in res)
{
var values = re.values;
//get other fields from values
}