SelectMany
- это ключевое слово.То, что он делает, это группирует как один список, если выборка является некоторой коллекцией.Если вам нравится, возвращайте, как если бы вы сделали Union
.
Dictionary<string, Dictionary<string, List<InstanceLog>>> dic;
var instanceLogs = dic.SelectMany(d => d.Value.Select(subd => subd.Value)).ToList();
SelectMany
на dic
, скажем linq:
"Эй, у меня будет результат сбора в этих скобкахпоэтому сгруппируйте их как 1 коллекцию "
Select
в дополнительном словаре просто возвращает коллекцию 1 для SelectMany
для захвата и обработки.
Это повторяет только коллекцию один раз и не использует никаких дополнительных операций, которые не нужны (linq wise)