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>
。)
除非您确实需要,否则我不会采用这种方法。