暗黙の型 'Var' に推論される変数に匿名メソッドを割り当てられないのはなぜですか?
次のコードを考えてみましょう:
Func<string, bool> comparer = delegate(string value) { return value != "0"; };
このコードは、推論された型であるため、正常にコンパイルされます。ラムダ式は Func デリゲートです。ただし、次のコードはコンパイルできません:
var comparer = delegate(string value) { return value != "0"; };
この場合、コンパイラーはラムダ式のデリゲート型を推論できません。これは、推論できるデリゲート型が無数にあり、コンパイラにはどれが意図されているのかを判断するための十分なコンテキストがないためです。
たとえば、ラムダ式は Func この問題を解決するには、ラムダ式のデリゲート型を明示的に指定します。ラムダ式: この変更により、コードは正常にコンパイルされ、ラムダ式の推論された型はラムダ式は Funcvar comparer = (Func<string, bool>)delegate(string value) {
return value != "0";
};
以上が暗黙的に型指定された変数 (「var」) は、明示的な型宣言がなければ匿名メソッドを保持できないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。