今天的做C#项目时,突然要对list列表的列表进行合并汇总,哈哈,写linq和lambda不多,试过几个方法都不行.具体代码如下
就是对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合并列表中列表】的全部内容了,欢迎留言评论进行交流!