// でかい配列
var test1 = Enumerable.Range(1, 200000).Select(it => new { ID = it, Name = "aikazu" + it });
var test2 = Enumerable.Range(1, 100000).Select(it => new { ID = it, Name = "aikazu" + it });
// メソッド式 INNER JOIN
var result1 = test1.Join(test2, it => it, it => it, (outer, inner) => outer).ToArray();
// メソッド式 LEFT JOIN
var result2 = test1.GroupJoin(test2, it => it, it => it, (outer, inner) => outer).ToArray();
// クエリ式 INNER JOIN
var result3 = (from t1 in test1
join t2 in test2 on t1 equals t2
select t1).ToArray();
// クエリ式 LEFT JOIN
var result4 = (from t1 in test1
join t2 in test2 on t1 equals t2
into z
from it in z.DefaultIfEmpty(new { ID = 0, Name = "null" })
select t1).ToArray();