的一部分:Let子句因为它为什么可以使用此连接语句
from r1 in Enumerable.Range(1, 10)
join q1 in Enumerable.Range(1, 20) on r1 equals q1
select r1;
,但无法使用此:
from r1 in Enumerable.Range(1, 10)
let q = Enumerable.Range(1, 20)
join q1 in q on r1 equals q1
select r1;
的MSDN documentation上let clause
缺少一些细节。
更新: 我只是试图让表达式更清晰可读。在我的情况下,我想用一些方法链接let clause
。否则,加入条款变得太可怕了。因为它是不可能使用let clause
(如乔恩提及)我介绍了外部变量,在这里:
IEnumerable<int> q = Enumerable.Range(1, 10);
from r1 in Enumerable.Range(1, 10)
join q1 in q on r1 equals q1
select r1;
看到我的答案中的MSDN博客链接...他们解释它很不错... – Yahia