英語で読む

次の方法で共有


コンパイラ エラー CS0815

'expression' を暗黙的に型指定されたローカル変数に割り当てることはできません

暗黙的に型指定された変数の初期化子として使用される式には、型が必要です。 匿名関数式、メソッド グループ式、NULL リテラル式には型がないため、適切な初期化子ではありません。 暗黙的に型指定された変数を宣言の中で NULL 値で初期化することはできませんが、後で値 NULL を割り当てることはできます。 C# バージョン 10 では、自然な型を使用するラムダ式とメソッド グループを var 宣言で初期化子として使用できます。

このエラーを解決するには

  1. 変数に明示的な型を指定します。
  2. または、C# バージョン 10 以上で自然な型を指定します。

次のコードでは CS0815 が生成されます。

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

関連項目