c# – LINQ:如何将元素列表附加到另一个列表中

前端之家收集整理的这篇文章主要介绍了c# – LINQ:如何将元素列表附加到另一个列表中前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有以下课程
public class Element
{
  public List<int> Ints
  {
     get;private set;
  }
}

给定List< Element>,如何找到List< Element>内的所有Int的列表.使用LINQ?

我可以使用以下代码

public static List<int> FindInts(List<Element> elements)
{
 var ints = new List<int>();
 foreach(var element in elements)
 {
  ints.AddRange(element.Ints);
 }
 return ints;
 }
}

但它是如此丑陋和冗长的啰嗦,我想每次写作都呕吐.

有任何想法吗?

解决方法

return (from el in elements
        from i in el.Ints
        select i).ToList();

或者只是:

return new List<int>(elements.SelectMany(el => el.Ints));

顺便说一句,你可能想要初始化列表:

public Element() {
    Ints = new List<int>();
}

猜你在找的C#相关文章