对 LINQ 查询范围和迭代变量使用相同的名称是好习惯吗?
Is using the same name for LINQ Queries range and iteration variables good practise?
在“MSDN”它说“范围变量就像 foreach 语句中的迭代变量,除了一个非常重要的区别:范围变量从不实际存储来自源的数据。这只是一种语法上的便利,使查询能够描述执行查询时会发生什么。"
下方 Introduction to LINQ Queries (C#) 中的示例是少数范围和迭代变量具有相同名称(“num”)的示例之一
// 2. Query creation.
var numQuery =
from num in numbers
where (num % 2) == 0
select num;
// 3. Query execution.
foreach (int num in numQuery)
{
Console.Write("{0,1} ", num);
}
通常 MSDN 示例为范围和迭代变量分配不同的名称。
在方便的情况下,是否有任何理由不对范围变量和迭代变量使用相同的名称?
在第 2 步中,您正在构建查询,在第 3 步中,您已经执行了查询,
所以 (1st)num var 与 (foreach)num var
不同时存在
从技术上讲,两个 num var 代表相同的概念,因此您可以随意使用。
通常为范围变量
开发用户 'item'
如果 foreach 语句又长又复杂,我使用你的命名约定
...否则 => 'item'
在“MSDN”它说“范围变量就像 foreach 语句中的迭代变量,除了一个非常重要的区别:范围变量从不实际存储来自源的数据。这只是一种语法上的便利,使查询能够描述执行查询时会发生什么。"
下方 Introduction to LINQ Queries (C#) 中的示例是少数范围和迭代变量具有相同名称(“num”)的示例之一
// 2. Query creation.
var numQuery =
from num in numbers
where (num % 2) == 0
select num;
// 3. Query execution.
foreach (int num in numQuery)
{
Console.Write("{0,1} ", num);
}
通常 MSDN 示例为范围和迭代变量分配不同的名称。
在方便的情况下,是否有任何理由不对范围变量和迭代变量使用相同的名称?
在第 2 步中,您正在构建查询,在第 3 步中,您已经执行了查询, 所以 (1st)num var 与 (foreach)num var
不同时存在从技术上讲,两个 num var 代表相同的概念,因此您可以随意使用。 通常为范围变量
开发用户 'item'如果 foreach 语句又长又复杂,我使用你的命名约定 ...否则 => 'item'