मैंने पहले ही टिप्पणी कर दी है, लेकिन मुझे लगता है कि यह एक वैध विकल्प है, बस परीक्षण करें कि क्या आपके वातावरण में बेहतर एक समाधान या दूसरा है। मेरे विशेष मामले में, source.ForEach(p => dest.Add(p))क्लासिक की तुलना में बेहतर प्रदर्शन करता है , AddRangeलेकिन मैंने जांच नहीं की है कि निम्न स्तर पर क्यों।
आप यहां एक उदाहरण कोड देख सकते हैं: https://gist.github.com/mcliment/4690433
तो विकल्प होगा:
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));
यह देखने के लिए परीक्षण करें कि क्या यह आपके लिए काम करता है।
डिस्क्लेमर : मैं इस समाधान की वकालत नहीं कर रहा हूं, मुझे Concatसबसे स्पष्ट लगता है। मैंने सिर्फ जॉन के साथ अपनी चर्चा में कहा- कि मेरी मशीन में यह मामला इससे बेहतर प्रदर्शन करता है AddRange, लेकिन वह कहते हैं, मेरे मुकाबले कहीं अधिक ज्ञान के साथ, कि इसका कोई मतलब नहीं है। अगर आप तुलना करना चाहते हैं तो जिस्ट है।