では、整数は値型です。つまり、スタックに格納されます。 整数もクラスです(通常System.Int32)。彼らはCompareTo、Equals、...のようなメソッドを持っているので、スタック上で4バイト以上を取るべきです。 彼らは正確に4つのバイトを取ることがショー以下の例:.Net/C#:整数の実数は何ですか? .netの
unsafe static void Main()
{
int a = 2, b = 4;
Console.WriteLine("Adress of a : {0}", (int)&a);
Console.WriteLine("Adress of b : {0}", (int)&b);
Console.WriteLine("Size of integer: {0}", (int)(&a) - (int)(&b));
}
出力:
Adress of a : 1372876
Adress of b : 1372872
Size of integer: 4
は、CLRは整数であり、他の値型(のための特別な治療を負いませんフロート、長い、ダブル、... )?
私はint32は構造であり、クラスではないと思います。 – Shawn
これを64ビットOSで実行してみてください... –
プラットフォームでもintは4バイトとして保持されます。 * native int *は別の問題です。悪い例は別の価値に終わるかもしれませんが、私は認めます – ShuggyCoUk