-4

ばかげているように見えるかもしれませんが、C#には大文字のすべての型の定義があります:

int -> Int32 , double -> Double , string -> String , etc..

Varが他の .Net コンポーネントのようにvar定義されていないのはなぜですか?

前もって感謝します。

4

2 に答える 2

4

varマップ可能なプリミティブ タイプを持たないキーワードです。intdoubleなどはすべてプリミティブ マッピングを持つキーワードです。

msdn から:

int i = 123;

整数リテラルにサフィックスがない場合、その型は、その値を表すことができるこれらの型 (int、uint、long、ulong) の最初のものになります。この例では、int 型です。

http://msdn.microsoft.com/en-us/library/vstudio/5kzh1b5w.aspx

varそれが表す実際の型は型推論されるため、特別です。

Visual C# 3.0 以降、メソッド スコープで宣言された変数は、暗黙的な型 var を持つことができます。暗黙的に型指定されたローカル変数は、自分で型を宣言したかのように厳密に型指定されますが、型はコンパイラによって決定されます。i の次の 2 つの宣言は、機能的に同等です...

var i = 10; // implicitly typed
int i = 10; //explicitly typed

http://msdn.microsoft.com/en-us/library/bb383973.aspx

于 2013-09-16T15:12:36.127 に答える
3

int、、およびはすべてキーワードdoubleであり、キーワードは大文字ではありませんが、、、はすべてタイプであり、タイプは大文字です。stringvarSystem.Int32System.DoubleSystem.String

于 2013-09-16T15:13:28.320 に答える