コンパイラ エラー CS0815
'expression' を暗黙的に型指定されたローカル変数に割り当てることはできません
暗黙的に型指定された変数の初期化子として使用される式には、型が必要です。 匿名関数式、メソッド グループ式、NULL リテラル式には型がないため、適切な初期化子ではありません。 暗黙的に型指定された変数を宣言の中で NULL 値で初期化することはできませんが、後で値 NULL を割り当てることはできます。
C# バージョン 10 では、自然な型を使用するラムダ式とメソッド グループを var
宣言で初期化子として使用できます。
- 変数に明示的な型を指定します。
- または、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;
}
}
GitHub で Microsoft と共同作業する
このコンテンツのソースは GitHub にあります。そこで、issue や pull request を作成および確認することもできます。 詳細については、共同作成者ガイドを参照してください。
.NET に関するフィードバック
.NET はオープンソース プロジェクトです。 フィードバックを提供するにはリンクを選択します。