Как я могу уменьшить IEnumerable<IEnumerable<Foo>> до IEnumerable<Foo>?
-
05-07-2019 - |
Вопрос
Извините за странную подпись.То, чего я пытаюсь достичь, очень просто:
IEnumerable<IEnumerable<Foo>> listoflist;
IEnumerable<Foo> combined = listoflist.CombineStuff();
Пример:
{{0, 1}, {2, 3}} => {0, 1, 2, 3}
Я уверен, что для этого существует выражение Linq...
Боковое Примечание:Списки могут быть большими.
Решение
Как говорит леппи, вы хотите Enumerable.SelectMany
.Самой простой формой было бы:
combined = listOfList.SelectMany(x => x);
В выражениях запроса, SelectMany
вызывается, когда у вас есть более одного from
оговорка, таким образом, альтернативой было бы:
combined = from x in listOfList
from y in x
select y;
Другие советы
Выберите множество()
ОК
Не связан с StackOverflow