选择集合项的属性并按其他属性对其进行分组

时间:2014-05-09 19:48:51

标签: c# .net linq linq-to-objects

我最近一直在做一个项目并且我已经满足了这个要求,我有一系列Foo项目,如下:

public class Foo
{
    public string Prop1 { get; set; }
    public string Prop2 { get; set; }
    public string Prop3 { get; set; }
    public string Prop4 { get; set; }
}


ObservableCollection<Foo> Foolist = new ObservableCollection<Foo>();

现在我知道我可以使用以下任何属性对集合中的Foo项进行分组:

var groupedItems = Foolist.GroupBy(x => x.Prop1);

我需要做的是实际选择一个属性的不同实例(比如Prop2)并使用另一个属性(比如Prop1)对它们进行分组..任何帮助这样做都会受到赞赏。

1 个答案:

答案 0 :(得分:1)

你想要这样的东西

Foolist.GroupBy(x => x.Prop2).Select(x => x.First()).GroupBy(x => x.Prop1);