编译器错误 CS1930
已声明范围变量“name”
查询表达式中的范围变量会一直位于范围内,直到该查询表达式终止。 因此,该变量必须具有唯一标识符。
- 为在查询表达式中引入的每个范围变量指定一个唯一名称。
下面的示例生成 CS1930,因为同时对 num
子句中的范围变量和 from
子句所引入的范围变量使用了标识符 let
。
C#
// cs1930.cs
using System.Linq;
class Program
{
static void Main()
{
int[] nums = { 0, 1, 2, 3, 4, 5 };
var query = from num in nums
let num = 3 // CS1930
select num;
}
}