C#AddRange List <list <t>&gt; </list <t>

时间:2014-04-26 05:32:53

标签: c# linq list

我需要从List对象列表或可枚举对象列表中填充List。

考虑班级

 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

1 个答案:

答案 0 :(得分:8)

使用SelectMany()展平序列序列:

var values = lstData.SelectMany(i => i.Items).ToList()