1. ホーム
  2. c#

[解決済み] C#の "var "の意味は?重複

2023-03-24 19:14:56

質問

C#では、どのようにキーワード var はどのように機能するのでしょうか?

どのように解決するのですか?

宣言されているローカルの型は、その最初の代入に基づいてコンパイラによって推測されるということです。

// This statement:
var foo = "bar";
// Is equivalent to this statement:
string foo = "bar";

注目すべきは var は動的な型である変数を定義していません。 ですから、これは合法ではありません。

var foo = "bar";
foo = 1; // Compiler error, the foo variable holds strings, not ints

var は2つの用途しかありません。

  1. 変数の宣言に必要な型付けが少なくて済みます。特に、変数をネストされた汎用型として宣言する場合です。
  2. 型名を事前に知ることができないため、無名型のオブジェクトへの参照を格納するときに使用しなければなりません。 var foo = new { Bar = "bar" };

を使用することはできません。 var をローカル以外のものの型として使うことはできません。 ですから、キーワード var を使ってフィールド/プロパティ/パラメータ/リターン型を宣言することはできません。