1つ。マジックバー
変数宣言 var は C# 3.0 で追加されました。この宣言は JavaScript の var に似ていますが、異なります。
1. 同様の点で、var を使用して任意のタイプのローカル変数を宣言できます。
2. 違いは、変数が初期化式に基づいて変数の型を推測する必要があることをコンパイラに伝えることだけを担当し、ローカル変数のみにすることができることです。
二。類似点
それは宣言できる
var 整数 = 10;
var name = "エディスンドン";
var 数値 = new int[] { 1, 2, 3 };
三つ。違い
var は単なるキーワードであり、C# 3.0 の新しい型ではなく、変数が初期化式に基づいて変数の型を推測する必要があることをコンパイラに伝える役割を果たします。
int 整数 = 10;
文字列名 = "エディスンドン";
int[] 数値 = new int[] { 1, 2, 3 };
三つ。注記
1. 次のような文がある場合、宣言は代入番号の右側の式に依存するため、宣言時に値を代入する必要があります。
var 整数;
整数 = 10;
コンパイル中に「暗黙的に型指定されたローカルを初期化する必要がある」というエラーが報告されます。
2. var を使用してローカル変数を宣言した後も、その変数は強力な型を保持しているため、次のようにテストできます。
var 整数 = 10;
整数 = "エディスンドン";
コンパイル中に「型 'string' を 'int' に暗黙的に変換できません」エラーが報告されます。
3. 初期化子式のコンパイル時の型を空 (null) 型にすることはできません。コンパイラは、次のステートメントのように、null に基づいてローカル変数の型を推論できません。
var 整数 = null;
暗黙的に型指定されたローカル エラーに '
4. 初期化ステートメントは式である必要があります。初期化式にはそれ自体を含めることはできませんが、オブジェクトまたはコレクション初期化子を含む新しい式 (つまり、匿名型) を含めることはできます。
たとえば、次のように宣言できます。
var coll = 新しい Hashtable();
5. var の宣言はローカル変数に限定されており、foreach、for、using ステートメントにも含めることができます。次の使用法は正しくありません。
クラスプログラム
{
private var i = 10; //グローバルプライベート変数。
static void Main(string[] args)
{ }
}
コンテキスト キーワード「var」は、ローカル変数宣言内でのみ使用できます。コンパイル時にエラーが報告されます。
この記事は CSDN ブログからのものです。転載する場合は出典を明記してください: http://blog.csdn.net/superyoungchaos/archive/2009/12/23/5060696.aspx