编译器错误 CS1930

更新:2007 年 11 月

错误消息

已声明范围变量“name”

查询表达式中的范围变量会一直位于范围内,直到该查询表达式终止。因此,该变量必须具有唯一标识符。

更正此错误

  • 为在查询表达式中引入的每个范围变量指定一个唯一名称。

示例

下面的示例生成 CS1930,因为同时对 from 子句中的范围变量和 let 子句所引入的范围变量使用了标识符 num。

// 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; 
    }
}

请参见

概念

LINQ 查询表达式(C# 编程指南)