C#列表对多个属性进行分组

时间:2014-01-03 16:48:46

标签: c# linq

我有一个OrderBlock对象,其中包含Orders列表。此列表绑定到我的数据网格。

该列表通常包含同一股票的多个订单,比如微软。一些订单可能是买入其他可能是卖单。

我想根据Order.Id和Order.Side对列表进行分组,但我不确定如何做到这一点?

2 个答案:

答案 0 :(得分:6)

您可以使用以下内容:

var results = 
    from o in OrderBlock
    group o by new { o.Id, o.Side };

或者用流利的语法:

var results = OrderBlock.GroupBy(o => new { o.Id, o.Side });

答案 1 :(得分:5)

var grouped = list.GroupBy(x => new {x.Id, x.Side});