您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

在C#.NET中将两个(或多个)列表合并为一个

在C#.NET中将两个(或多个)列表合并为一个

您可以使用LINQ ConcatToList方法

var allProducts = productCollection1.Concat(productCollection2)
                                    .Concat(productCollection3)
                                    .ToList();

请注意,有更有效的方法可以执行此操作- 上面的操作基本上会遍历所有条目,从而创建动态大小的缓冲区。正如您可以预测的开始大小一样,您不需要此动态大小调整…因此您 可以 使用:

var allProducts = new List<Product>(productCollection1.Count +
                                    productCollection2.Count +
                                    productCollection3.Count);
allProducts.AddRange(productCollection1);
allProducts.AddRange(productCollection2);
allProducts.AddRange(productCollection3);

(为了提高效率AddRange而特例ICollection<T>。)

除非您确实需要,否则我不会采用这种方法

c# 2022/1/1 18:22:15 有436人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶