#c# #linq
#c# #linq
Вопрос:
В результате выражения Linq-to-objects соединения 4 Listlt;Tgt;
я получаю следующую группировку
select new { id = o.Id, items = itm }
где items
находится IEnumerablelt;Tgt;
То, что мне нужно, чтобы выбраться из этого, — это, по сути Intersect
, из items
. (предполагая groupped
, что это материализованный список)
var result = groupped[0].items; for(int i = 1; i lt; groupped.Count; i ) result = result.Intesect(groupped[i].items, lt;some comparergt;);
Есть ли лучший способ, чем этот ^^?
Комментарии:
1. Мне кажется кратким и читаемым. Единственное, что вы могли бы рассмотреть, — это добавление
OrderBy(x =gt; x.Count)
для ваших групп. Таким образом, вы начнете с самых маленьких групп, и у вас будет меньше сравнений в целом.