2015-08-06 1 views
2

У меня есть List<List<CustomType>>. Каждый List<CustomType> содержит только 1 CustomType. Как мне сделать List<List<CustomType>> a List<CustomType>?Составьте список списков

+2

Не знаю, почему downvote - для того, чтобы должным образом исследовать этот вопрос, вы должны знать, как назвать этот (как я * Сглаживание * коллекции в C#), и если вы знаете, как это назвать , ну, первый результат ... – jdphenix

ответ

3

Как уже отмечалось, вы можете использовать SelectMany(). Учитывая то вроде этого:

List<List<CustomType>> listOfLists = Init() ; 

Вы можете просто сказать:

List<CustomType> flattenedList = listOfLists.SelectMany().ToList() ; 

, но, так как вы знаете, что каждый из вложенных списков содержит один элемент, вы могли бы просто сказать что-то вроде либо из них:

  • List<CustomType> flattenedList = listOfLists.Select(x => x.First()).ToList() ;

  • List<CustomType> flattenedList = listOfLists.Select(x => x[0]) ;