10

重複の可能性:
C# short/long/int リテラル形式?

プログラミングでの使用について読んvarで、型に使用されたときに var がデフォルトでどのようになるかについて興味がありintます。たとえば、私が使用する場合

var foo = 65535

タイプはushortまたは単にintですか?ありがとう。

4

2 に答える 2

28

本当に、あなたが求めているのは、C# で整数リテラルに与えられる型は何ですか? 、仕様で答えを見つけることができます:

(4.0 仕様のセクション 2.4.4.2)

整数リテラルの型は次のように決定されます。

  • リテラルに接尾辞がない場合、その値を表すことができるこれらの型の最初のものを持ちます: int、uint、long、ulong。
  • リテラルに U または u の接尾辞が付いている場合、その値を表すことができる最初の型 (uint、ulong) を持ちます。
  • リテラルに L または l という接尾辞が付いている場合、その値を表すことができる最初の型 (long、ulong) があります。
  • リテラルの末尾に UL、Ul、uL、ul、LU、Lu、lU、または lu が付いている場合、そのリテラルは ulong 型です。

整数リテラルで表される値が ulong 型の範囲外の場合、コンパイル エラーが発生します。

于 2012-10-19T14:25:09.810 に答える
6

すべての整数リテラルは型であるため、最後に明示的な型修飾子をキャストまたは追加しない限りint、変数は型になります。int

var quick = 65535;         // int
var brown = (ushort)65535; // ushort
var fox = 65535L;          // long
于 2012-10-19T14:17:07.700 に答える