使用 LINQ,如何将 IList> 转换为 IList

本文关键字:IList object 转换 LINQ 使用 | 更新日期: 2023-09-27 18:31:13

我正在尝试将IList<IList<object>>转换为IList<object>,我的意思是有一个唯一的列表,其中包含第一个的所有元素(对象)。

    public IList<IList<Page>> PMTs
    {
        get
        {
            var pmts = Processes.Select(x => x.PageMapTable)
                                .ToList();
            return pmts;
        }
    }
    public IList<Page> BlockMapTable
    {
        get
        {
            // Incomplete
            var btm = PMTs.Select(x => x.?? ..
        }
    }

使用 LINQ,如何将 IList<IList<object>> 转换为 IList<object>

假设你想flatMap/flatize the list<list<Page>> ,你可以用selectMany方法做到这一点,如下所示:

public IList<Page> BlockMapTable
{
    get
    {
        var btm = PMTs.SelectMany(x => x).ToList();
    }
}

如果你想阅读更多关于它的信息,这里有一篇关于 选择许多扩展方法

public IList<Page> BlockMapTable
    {
        get
        {
            return PMTs.SelectMany(p => p).ToList();
        }
    }