C# AddRange List<List<T>>

4
我需要从列表或可枚举对象的列表中填充列表。
考虑以下类:
 public class Data
    {
       public int ID;
       public List<string> Items;
    }

 List<Data> lstData= new List<Data>();
 lstData.Add(new Data { ID = 1, Items = new List<string> { "item1", "item2" } });
 lstData.Add(new Data { ID = 2, Items = new List<string> { "item3", "item4" } });

现在,我想把所有的项目都填入一个列表中,就像这样。
List<string> values = new List<string>();
values.AddRange(lstData.Select(a => a.Items));

但是在上面的AddRange中我遇到了错误,请有人帮忙编写这种情况下的AddRange。

我已经编辑了问题。 - Kevin M
1个回答

8
使用SelectMany()将一个序列的序列展平:
var values = lstData.SelectMany(i => i.Items).ToList()

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接