将IEnumerable<IGrouping<T, K>>转换成IEnumerable<K>。[英] Convert IEnumerable<IGrouping<T, K>> to IEnumerable<K>

本文是小编为大家收集整理的关于将IEnumerable<IGrouping<T, K>>转换成IEnumerable<K>。的处理/解决方法,可以参考本文帮助大家快速定位并解决问题,中文翻译不准确的可切换到English标签页查看源文。

问题描述

将 IEnumerable<IGrouping<T,K>> 转换为 IEnumerable<K> 的最佳方法是什么?

看来这种方式可行:

myEnumerable = myEnumerableOfGroups
    .Select( group => group.AsEnumerable)
    .Aggregate((enumA, enumB) => enumA.Concat(enumB));

有没有更有效的方法?

推荐答案

应该这样做:

myEnumerable = myEnumerableOfGroups.SelectMany(group => group);

SelectMany 重载的 MSDN 页面是 这里.

本文地址:https://www.itbaoku.cn/post/1556917.html

问题描述

What is the best way to convert IEnumerable<IGrouping<T,K>> to IEnumerable<K> ?

It seems this way will work:

myEnumerable = myEnumerableOfGroups
    .Select( group => group.AsEnumerable)
    .Aggregate((enumA, enumB) => enumA.Concat(enumB));

is there a more efficient way to do it ?

推荐答案

This should do it:

myEnumerable = myEnumerableOfGroups.SelectMany(group => group);

The MSDN page for this overload of SelectMany is here.