我有一个类,我们将其命名为MyClass,其公共字段为IList<AnotherType>
:
class MyClass
{
public IList<AnotherType> MyListProperty {get;}
}
我的应用程序中还有一个MyClass对象列表:
list = new List<MyClass>();
我希望从这个“列表”中获得一个组,特别是
IOrderedEnumerable<IGrouping<MyClass,AnotherType>>
使用Linq,它将用作CollectionViewSource的源,并将作为分组ListView显示给用户。我怎么能这样做?
换句话说,我想将“列表”合并为一个可分组的枚举,其中键为MyClass
个实例,值为MyClass.MyListProperty
。
答案 0 :(得分:0)
如果我没有正确理解你,你正在寻找这样的东西:
list.SelectMany(x => x.MyListProperty.GroupBy(y => x));
返回IEnumerable<IGrouping<MyClass, AnotherType>>
。要使其为IOrderedEnumerable
,您需要在最后添加.OrderBy(x => x.SomeOrderingProperty);
。