【问题标题】:How to append enumerable collection to an existing list in C#如何将 ienumerable 集合附加到 C# 中的现有列表
【发布时间】:2011-05-03 07:20:45
【问题描述】:

我有三个函数返回一个 IEnumerable 集合。 现在我想将所有这些合并到一个列表中。 那么,是否有任何方法可以将 IEnumerable 中的项目附加到列表中。 我的意思是没有每个循环?

【问题讨论】:

    标签: c# list ienumerable generics


    【解决方案1】:

    好吧,某事将不得不循环......但在 LINQ 中,您可以轻松使用 ConcatToList 扩展方法:

    var bigList = list1.Concat(list2).Concat(list3).ToList();
    

    请注意,这将创建一个 列表,而不是将项目附加到 现有 列表。如果您想将它们添加到现有列表中,List<T>.AddRange 可能就是您所追求的:

    bigList.AddRange(list1);
    bigList.AddRange(list2);
    bigList.AddRange(list3);
    

    【讨论】:

      【解决方案2】:

      如果你已经有一个列表:

      list.AddRange(yourCollectionToAppend);
      

      如果您有 2 个可枚举项并且尚未创建列表:

      firstCollection.Concat(secondCollection).ToList();
      

      【讨论】:

        猜你喜欢
        • 2014-01-06
        • 1970-01-01
        • 2015-04-28
        • 2011-06-12
        • 2021-02-11
        • 2010-11-15
        • 2021-04-14
        • 2019-08-22
        • 2019-01-12
        相关资源
        最近更新 更多