c# - 将列表列表转换到 IGrouping?

标签 c# linq generics linq-to-objects

我有一些代码可以创建列表列表。该列表是这种类型的:

 List<List<Device>> GroupedDeviceList = new List<List<Device>>();

但需要返回如下类型的结果:

 IEnumerable<IGrouping<object, Device>>

这是否可以通过转换等实现,或者我应该为我的列表列表使用不同的定义?

最佳答案

如果我正确理解你的意图,答案如下:

    var result = GroupedDeviceList
        .SelectMany(lst => lst.GroupBy(device => (object)lst));

结果类型为 IEnumerable<IGrouping<object, Device>> ,其中对象是对您的 List<Device> 的引用.

关于c# - 将列表列表转换到 IGrouping?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3625420/

相关文章:

c# - 通用类型父列表不接受子类型是父列表类型的子类型

c# - 无法使用 [FromQuery] ASP Net Core 2 API 绑定(bind)参数

c# - 如何使用NAudio和ASIO直接读取输入缓冲区并进行回放?

c# - 使用 Linq 合并两个列表并获取总数

c# - 按总数分组

c# - 强制linq执行内连接

c++ - 具有通用/模板化变量的 STL 容器

c# - 计算几何开源库

c# - WPF 网格 - 具有最小高度限制的自动调整大小

generics - 无法定义运算符