История изменений
Исправление grim, (текущая версия) :
не совсем верно. При join строится expression tree, которое сохраняется до лучших времен, когда данные реально понядобятся. тогда оно будет проанализированно с дополнительными наложеннми условиями и процедурами
var join = from a in arr1
join b in arr2 on a equals b
select a;
var c = from j in join
where j>5
select j;
var join = from a in arr1
join b in arr2 on a equals b
where j>5
select a;
Кроме того можно сложные join разбивать на несколько, зная что linq всё соптимизирует.
Исходная версия grim, :
не совсем верно. При join строится expression tree, которое сохраняется до лучших времен, когда данные реально понядобятся. тогда оно будет проанализированно с дополнительными наложеннми условиями и процедурами
var join = from a in arr1
join b in arr2 on a equals b
select a;
var c = from j in join
where j>5
select j;
var join = from a in arr1
join b in arr2 on a equals b
where j>5
select a;