2012-11-16 22 views
5

मेरे पास अभिभावक वर्ग एक्स और बाल कक्षाओं X1 और X2 (X1 और X2 एक्स से प्राप्त) की दो सूचियां हैं। क्या एक्स 1 और एक्स 2 की सूचियों को एक्सएस की सूची में गठबंधन करने का कोई आसान तरीका है?
मैं एक्स 1 और एक्स 2 की सूचियों पर लूप कर सकता हूं और फिर एक्स की सूची में जोड़ सकता हूं लेकिन यह थोड़ा बोझिल लगता है।अभिभावक वर्ग सूची में बाल वर्ग सूचियों का संयोजन

+0

आप कलाकारों का उपयोग कर सकते मैं – m4ngl3r

+0

यकीन है कि लगता है, लेकिन है कि पाशन की आवश्यकता है। मैं एक linq (कम कोड) समाधान की तलाश में हूं – cs0815

उत्तर

6

LINQ

var both = list1.Cast<X>().Concat(list2.Cast<X>()).ToList(); 

साथ या

var both = ((IEnumerable<X>)list1).Concat((IEnumerable<X>)list2).ToList(); 

लेकिन यह भी पाशन के साथ आसानी से ऐसा कर सकते हैं - बस कवर के तहत।

+0

वास्तव में लूपिंग के बारे में परवाह नहीं है जब तक मुझे बहुत अधिक कोड लिखना न पड़े (-: बस कन्वर्टएल में भी आया – cs0815

2

उपयोग Enumerable.Cast विधि, इस तरह:

var list1 = new List<X1>(); 
var list2 = new List<X2>(); 
var result = list1.Cast<X>().Concat(list2.Cast<X>()).ToList(); 
संबंधित मुद्दे