Метод GroupJoin
Метод GroupJoin класса Enumerable соединяет каждый элемент с группой совпадений.
Синтаксис
IEnumerable<TResult> query = outer.GroupJoin(inner, ok => ok, ik => ik, (o, g) => result);
Пример
Давайте сгруппируем совпадения для ключей:
using System;
using System.Collections.Generic;
using System.Linq;
class Program
{
static void Main()
{
List<int> keys = new List<int> {1, 2};
List<int> vals = new List<int> {1, 1, 2, 3};
var res = keys.GroupJoin(vals, k => k, v => v, (k, g) => k + ":" + g.Count());
Console.WriteLine(string.Join(" ", res));
}
}
Результат выполнения кода:
"1:2 2:1"