选择集合项的属性并按另一个属性对它们进行分组

本文关键字:属性 另一个 集合 选择 | 更新日期: 2023-09-27 18:02:33

我最近一直在做一个项目,我遇到了这个需求,我有一个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)对它们进行分组。

选择集合项的属性并按另一个属性对它们进行分组

你想要这样的东西

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