Sử dụng phương pháp LINQ SelectMany:
IEnumerable<IEnumerable<string>> myOuterList = // some IEnumerable<IEnumerable<string>>...
IEnumerable<String> allMyStrings = myOuterList.SelectMany(sl => sl);
Để được rất rõ ràng về những gì đang xảy ra ở đây (kể từ khi tôi ghét những suy nghĩ của mọi người nghĩ đây là một số loại phù thủy, và tôi cảm thấy xấu mà một số người khác đã xóa cùng một câu trả lời):
SelectMany là một extension method (phương pháp tĩnh thông qua đường cú pháp trông giống như một phương pháp thể hiện trên một loại cụ thể) trên IEnumerable<T>
. Nó có liệt kê ban đầu của bạn liệt kê và một chức năng để chuyển đổi mỗi mục của điều đó thành một liệt kê.
Bởi vì các mục là đã enumerations, chức năng chuyển đổi được simple- chỉ trở lại đầu vào (sl => sl
có nghĩa là "hãy paremeter tên sl
và gửi lại"). SelectMany sau đó cung cấp một điều tra trên mỗi lần lượt, dẫn đến trong danh sách "phẳng" của bạn ..
Nguồn
2012-08-14 18:05:07
['Enumerable.SelectMany'] (http://msdn.microsoft.com/en-US/library/bb534336.aspx) –