编译器错误 CS0815

更新:2007 年 11 月

错误消息

无法将“expression”赋予隐式类型的局部变量

如果表达式用作隐式类型的变量的初始值设定项,则必须具有类型。由于匿名函数表达式、方法组表达式和 null 文本表达式不具有类型,因此它们不是正确的初始值设定项。对于隐式类型的变量,不能在其声明中用 null 值进行初始化,但可在以后为其赋予 null 值。

更正此错误

  • 为该变量提供显式类型。

示例

下面的代码生成 CS0815:

// cs0815.cs
class Test
{
    public static int Main()
    {
        var d = s => -1; // CS0815
        var e = (string s) => 0; // CS0815
        var p = null;//CS0815
        var del = delegate(string a) { return -1; };// CS0815
        return -1;
    }
}

请参见

参考

隐式类型的局部变量(C# 编程指南)