分组所需的Linq表达式

时间:2012-06-27 05:27:38

标签: linq

我有一个类“A”的列表,它有两个属性qty和groupId.e.g。

      Qty    GroupId
       8         1
       2         2
       2         3 
       1         4
       3         5

我需要将其分组为因子值。让因子值= 4.在此因子值组的基础上看起来像:

     Qty      GroupId
      4          1    -   group1
      4          1    -   group2
      2          2   -|
      2          3   -|   group3
      1          4   -|  
      3          5   -|   group4   

我需要一个linq表达式。谢谢。

1 个答案:

答案 0 :(得分:0)

一般来说,linq中的分组是通过调用方法GroupBy()并使用lambdaexpression来说明如何分组来完成的。

http://msdn.microsoft.com/en-us/library/system.linq.enumerable.groupby.aspx

// your list
IList<ClassA> listToGroup = new List<ClassA>(){ ... your items ...};
// Factor
int factor = 4;
// group the list by Qty value of the ClassA-items
var resultOfGrouping = listToGroup.GroupBy(a => a.Qty * factor == 8);

Hth Tobi