値型 |
.NET Framework 型 |
例 |
サフィックス |
有効範囲 |
有効桁数 |
他の型への暗黙の変換 |
bool |
System.Boolean |
true |
なし |
true/false |
- |
なし |
byte |
System.Byte |
20 |
なし |
0 ~ 255 |
- |
short、ushort、int、uint、long、ulong、float、double、decimal |
char |
System.Char |
'\u0058' |
なし |
U+0000 ~ U+ffff |
- |
ushort、int、uint、long、ulong、float、double、decimal |
decimal |
System.Decimal |
300.5m |
m/M |
±1.0 × 10^-28 ~ ±7.9 × 10^28 |
28 ~ 29 |
なし |
double |
System.Double |
3.2d |
d/D |
±5.0 × 10^-324 ~ ±1.7 × 10^308 |
15 ~ 16 |
なし |
float |
System.Single |
3.5f |
f/F |
±1.5 × 10^-45 ~ ±3.4 × 10^38 |
7 |
double |
int |
System.Int32 |
325 |
なし |
-2,147,483,648 ~ 2,147,483,647 |
- |
long、float、double、decimal |
long |
System.Int64 |
4294967296L |
(l/)L |
-9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807 |
- |
float、double、decimal |
sbyte |
System.SByte |
127 |
なし |
-128 ~ 127 |
- |
short、int、long、float、double、decimal |
short |
System.Int16 |
32767 |
なし |
-32,768 ~ 32,767 |
- |
int、long、float、double、decimal |
uint |
System.UInt32 |
123U |
u/U |
0 ~ 4,294,967,295 |
- |
long、ulong、float、double、decimal |
ulong |
System.UInt64 |
123UL |
(l/)L u/U ul/UL lu/LU |
0 ~ 18,446,744,073,709,551,615 |
- |
float、double、decimal |
ushort |
System.UInt16 |
65535 |
なし |
0 ~ 65,535 |
- |
int、uint、long、ulong、float、double、decimal |
サフィックスがない整数リテラルの型は、int、uint、long、ulong のうち、その整数の値を表すことができる最も範囲の狭い型になります。
サフィックスに L または l を使用した場合、リテラル整数の型は、サイズに応じて long または ulong のいずれかに決まります。
サフィックスに U または u を使用した場合、リテラル整数の型は、サイズに応じて uint または ulong のいずれかに決まります。
浮動小数点型のうちの 1 つが double である場合、式は double になります。関係式またはブール式では bool になります。
式に double 型が 1 つも存在しない場合、式は float になります。関係式またはブール式では bool になります。
int、uint、または long から floatへの変換、および long から double への変換では、有効桁数が桁落ちすることがありますが、絶対値は損なわれません。
char 型への暗黙の型変換はありません。
浮動小数点型と decimal 型の間には、暗黙の型変換はありません。
int 型の定数式は、定数式の値が変換後の型の範囲内である場合、sbyte、byte、short、ushort、uint、または ulong に変換できます。
long 型の定数式は、定数式の値が変換後の型の範囲内である場合、ulong に変換できます。(MSDNのHELPの場所は見つけられていません)