如何在linq中分组

时间:2014-07-08 11:56:28

标签: c# wpf linq

我有一个List集合,我将ItemSource绑定到WPF DataGrid。在集合中,我想按一个可以具有相同值的列进行分组。

e.g。

ID 1,名称J,UID 0

ID 1,名称J,UID 1

所以我想按ID分组,所以我希望顶行上的ID 1和UID 0,然后是它下面一行的UID 1。喜欢绑扎

我试过这个

         IEnumerable<IGrouping<int, Customer>> groups = value.GroupBy(x => x.ID);
         IEnumerable<Customer> cust = groups.SelectMany(group => group);
         value = cust.ToList();

但是List中的计数会以相同的数字返回。我做错了什么?

干杯

1 个答案:

答案 0 :(得分:0)

请尝试这个:

IEnumerable<IGrouping<int, Customer>> groups = value.GroupBy(x => new { x.ID, x.Name, x.UID});
IEnumerable<Customer> cust = groups.SelectMany(group => group);
value = cust.ToList();
  

我做错了什么?

您不能在所需的三列上进行分组,但只能在其中一列上进行分组。