编译器错误 CS1932
无法将“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;
}
}