今天的做C#项目时,突然要对list列表的列表进行合并汇总,哈哈,写linq和lambda不多,试过几个方法都不行.具体代码如下

lambda合并列表 C#合并列表中的列表

就是对List<Coio> list中的列表ReportItems进行合并!

一般情况下,如果是两个list列表,直接是union即可,但是现在List中的列表呢.当然用最简单的方法就遍历这个list,然后对列表进行AddRange即可,如下代码

                var list = new List<Coio>();
                for (int i = 0; i < 10; i++)
                {
                    list.Add(new Coio());
                }
                var listItem = new List<ReportItem>();
                foreach (var item in list)
                {
                    listItem.AddRange(item.ReportItems);
                }

方法自然是没问题了,但就是想有没有更简单的.其实你想到的,微软也想到了.用SelectMany方法即可:

 var listResult = list.SelectMany(n => n.ReportItems).ToList();

看看是不是原来四五行代码,现在就一行代码就解决了~

以上就是【C#使用lambda合并列表中列表】的全部内容了,欢迎留言评论进行交流!

赞(0) 踩(0)
发表我的评论

最新评论

  1. 暂无评论