2011-01-19 12 views
13

क्या List<List<T>> को एक List<T> में एक ही ऑपरेशन के साथ एक तरह से जोड़ना संभव है जो कि भयानक धीमी नहीं है, यानीLINQ के साथ Concatenate सूचियों

List<List<int>> listOfLists = new List<List<int>>(); 
List<int> concatenatedList = listOfLists.Something... 

?

+2

यह सपाट कहा जाता है, नहीं संयोजन। – leppie

+2

वास्तव में, इसे concatenation कहा जाता है, http://msdn.microsoft.com/en-us/library/ee353462.aspx। – Batibix

+0

सूचियों की सूची को फ़्लैट करने के लिए, आप उन्हें जोड़ सकते हैं। – bitbonk

उत्तर

25
listOfLists.SelectMany(l => l); 

पूरी लाइन:

List<int> concatenatedList = listOfLists.SelectMany(l => l).ToList(); 
0

कुछ इस तरह:

listOfLists.Aggregate(new int[0], (res, list) => res.Concat(list)); 
संबंधित मुद्दे