选择集合项的属性并按另一个属性对它们进行分组
本文关键字:属性 另一个 集合 选择 | 更新日期: 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);