我想拆分由数组中的对象组成的数组,按类型的某些属性对它们进行分组(让我们说
string Group {get; set;}
)。
一开始我有
IEnumerable<T> array.
然后我想得到
IEnumerable<IEnumerable<T>> array.
当然,我可以在没有LINQ的情况下做到这一点,但它看起来太丑陋而且冗长。
答案 0 :(得分:2)
IEnumerable<IGrouping<string, YourType>>
这会给你IGrouping<string, YourType>
。 IEnumerble<YourType>
使用Key
扩展Group
,这将是您示例中foreach (var g in array.GroupBy(item => item.Group))
{
Console.WriteLine("Group='{0}', {1} items", g.Key, g.Count());
}
属性的值:
{{1}}