Я хотел бы иметь возможность слияния IEnumerable<IEnumerable<T>> в IEnumerable<T> (т.е. объединить все отдельные коллекции в один). Операторы Union применимы только к двум коллекциям. Любая идея?
Как объединить коллекцию коллекций в Linq
Ответ 1
Попробуйте
var it = GetTheNestedCase();
return it.SelectMany(x => x);
SelectMany - это преобразование LINQ, которое по существу говорит: "Для каждого элемента в коллекции возвращают элементы коллекции". Он превратит один элемент во многие (следовательно, SelectMany). Это отлично подходит для разбивки коллекций коллекций в плоский список.
Ответ 2
var lists = GetTheNestedCase();
return
    from list in lists
    from element in list
    select element;
- это еще один способ сделать это, используя синтаксис выражения запроса С# 3.0.