更新:2007 年 11 月

错误消息

无法将“expression”赋给范围变量。

无论范围变量是在 from 子句还是 let 子句中引入,编译器都必须能够推断该变量的类型。该变量不能为 null(因为 null 不是类型),并且不能为其分配类型不安全的表达式。

更正此错误

  • 移除无效的赋值运算。

  • 将表达式显式转换为允许的类型。

示例

下面的代码生成 CS1932,因为不能推断范围变量的类型。将值强制转换为预期类型可以修复该错误,如下面的示例所示。

 复制代码
// CS1932.cs
using System.Linq;
class Test
{
    static void Main()
    {
        
        var x = from i in Enumerable.Range(1, 100)
                let k = null // CS1932
                // Try the following line instead.
                let k = (string) null
                select i;
    }
}

请参见

概念

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