Zaten yorum yaptım ama hala geçerli bir seçenek olduğunu düşünüyorum, sadece ortamınızda daha iyi bir çözüm ya da diğer olup olmadığını test edin. Benim özel durumumda, kullanmak source.ForEach(p => dest.Add(p))
klasikten daha iyi performans gösteriyorAddRange
ancak neden düşük düzeyde olduğunu araştırmadım.
Burada bir örnek kod görebilirsiniz: https://gist.github.com/mcliment/4690433
Yani seçenek şöyle olurdu:
var allProducts = new List<Product>(productCollection1.Count +
productCollection2.Count +
productCollection3.Count);
productCollection1.ForEach(p => allProducts.Add(p));
productCollection2.ForEach(p => allProducts.Add(p));
productCollection3.ForEach(p => allProducts.Add(p));
İşinize yarayıp yaramadığını görmek için test edin.
Feragatname : Bu çözümü savunmuyorum Concat
, en açıkını buluyorum . Jon ile tartışmamda makinemde bu durumun daha iyi performans gösterdiğini söyledim AddRange
, ancak benden çok daha fazla bilgi ile bunun mantıklı olmadığını söylüyor. Karşılaştırma yapmak istediğinizde bir öz var.