मेरे पास 3 (संपादित करें) पारस्परिक रूप से अनन्य IENumerables जिन्हें मैं फिर से चालू करना चाहता हूं।IENumerables के संग्रह पर पूर्वानुमान
IEnumerable<Car> redCars = GetRedCars();
IEnumerable<Car> greenCars = GetGreenCars();
IEnumerable<Car> blueCars = GetBlueCars();
foreach(Car c in (redCars + greenCars + blueCars)) {
c.DoSomething();
}
...
सबसे अच्छा तरीका है मैं है के बारे में सोच सकते हैं::
...
List<Car> allCars = new List();
allCars.AddRange(redCars);
allCars.AddRange(greenCars);
allCars.AddRange(blueCars);
foreach(car in allCars) {
...
}
...
वहाँ यह करने के लिए अधिक संक्षिप्त तरीका है मैं कुछ इस तरह करना चाहते हैं? ऐसा लगता है कि Inumberables को जोड़ना तुच्छ होना चाहिए।
हे ... मैंने कंसट से शुरुआत की और फिर संघ गया और फिर फैसला किया कि मैं तय नहीं कर सकता कि किस का उपयोग करना है, इसलिए मैंने अपना जवाब हटा दिया। मैं वैसे भी अंतर को बेहतर तरीके से समझाता हूं। +1 – Randolpho
बिल्कुल वही जो मैं खोज रहा था। धन्यवाद! – sdr
@sdr: ध्यान दें कि यहां एक समय/स्थान व्यापार है। मान लीजिए कि आपके पास दस हजार तत्वों के साथ तीन लेकिन बीस ऐसी सूचियां नहीं थीं। आपकी विधि (उन्हें सभी को एक बड़ी सूची में एक साथ जोड़ना) लगभग 20 x 10K अतिरिक्त संदर्भ लेता है और 20 x 10K संदर्भ प्रति संचालन लेता है। दूसरी तरफ, 20 बेवकूफ कॉन्सट्स करना, शून्य अतिरिक्त संदर्भ लेता है, लेकिन नेस्टेड कॉन्सट्स में घोंसले की गहराई के आधार पर एक प्रतिलिपि बोझ होता है, इसलिए 10 x 11 x 10K = 110K प्रतियां, 20K प्रतियां नहीं होंगी। विवरण के लिए http://blogs.msdn.com/wesdyer/archive/2007/03/23/all-about-iterators.aspx देखें। –