C# 使用指定的字段对列表进行分组,然后将所有字段返回到列表中
我有一个包含5个字段x1、x2、x3、x4、x5的列表 我想按x1和x2按mylist分组,然后有一个新的列表结果列表,其中包含按x1和x2分组的所有5个字段x1、x2、x3、x4、x5。 我想和林克一起做C# 使用指定的字段对列表进行分组,然后将所有字段返回到列表中,c#,visual-studio,visual-studio-2010,C#,Visual Studio,Visual Studio 2010,我有一个包含5个字段x1、x2、x3、x4、x5的列表 我想按x1和x2按mylist分组,然后有一个新的列表结果列表,其中包含按x1和x2分组的所有5个字段x1、x2、x3、x4、x5。 我想和林克一起做 var result = mylist.GroupBy(row => new { row.x1, row.x2}) 这将给出一个列表,其中包含两个字段row.x1和row.x2。我怎样才能得到其余的字段 编辑:假设这是mylist: x1x2x3x4x5 我想得到这个结果:
var result = mylist.GroupBy(row => new { row.x1, row.x2})
这将给出一个列表,其中包含两个字段row.x1和row.x2。我怎样才能得到其余的字段
编辑:假设这是mylist:
x1x2x3x4x5
我想得到这个结果:
x1 x2 x3 x4 x5
分组后,您希望得到哪一个x3、x4、x5值,如最小值或最大值等 x1 | x2 | x3| A | B | 1 A | B | 2
当你在X1和X2上分组时,它只给出A,B,但你必须告诉你想要得到x3列的哪个值。如果分组后有十行,如果它只给出两行,那么你想要得到x3,x4,x5的哪个值?你必须告诉我。
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
}
1 '=C' 'a' 'b' 'c'
1 '=C' 'g' 'h' 'i'
4 '=C' 'j' 'k' 'l'
2 '+A' 'd' 'e' 'f'
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
}