C# 型
C#の型には以下のようなものがあります。
基本データ型
型 | サイズ | 範囲 | 規定値 | 内部的なクラス |
---|---|---|---|---|
byte | 8ビット | 0 ~ 255 | 0 | System.Byte |
ushort | 16ビット | 0~65535 | 0 | System.UInt16 |
uint | 32ビット | 0 ~ 4,294,967,295 | 0 | System.UInt32 |
ulong | 64ビット | 0 ~ 18,446,744,073,709,551,615 | 0 | System.UInt64 |
型 | サイズ | 範囲 | 規定値 | 内部的なクラス |
---|---|---|---|---|
sbyte | 8ビット | -128 ~ 127 | 0 | System.SByte |
short | 16ビット | -32768~32767 | 0 | System.Int16 |
int | 32ビット | -2,147,483,648 ~ 2,147,483,647 | 0 | System.Int32 |
long | 64ビット | -9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807 | 0 | System.Int64 |
型 | サイズ | 範囲 | 規定値 | 内部的なクラス |
---|---|---|---|---|
float | 32ビット | ±1.5e - 45 ~ ±3.4e38 | 0.0 | System.Single |
double | 64ビット | ±5.0e - 324 ~ ±1.7e308 | 0.0 | System.Double |
decimal | 128ビット | ±1.0 x 10-28 ~ ±7.9 x 1028 | 0.0 | System.Decimal |
型 | サイズ | 範囲 | 規定値 | 内部的なクラス |
---|---|---|---|---|
bool | 1ビット | true/false | false | System.Boolean |
型 | サイズ | 範囲 | 規定値 | 内部的なクラス |
---|---|---|---|---|
char | 16ビット (Unicode) | U+0000 ~ U+ffff | System.Char |
数値リテラルを明示的に型指定したい場合
数値リテラルを明示的に型指定したい場合は、数値リテラルの後ろに記号をつければOKです。
型 | 記号 | 例 |
---|---|---|
int | なし | 12345 |
long | l または L | 12345l |
float | f または F | 123.45f |
double | d または D | 123.45d |
decimal | m または M | 123.45m |
16進数 | 0x または 0X | 0x12345 |
基本データ型のプロパティ
プロパティ | 意味 | 範囲 |
---|---|---|
MinValue | その型の最小値を返す | 【int】-2147483648 【long】-9223372036854775808 |
MaxValue | その型の最大値を返す | 【int】2147483647 【long】9223372036854775807 |
Nullable型
基本データ型はNull値を取ることができませんが、
Nullable型にするとNullをセットすることができます。
Nullable型にするには、以下のようにNullable<xx>とするか、?を付けて宣言します。
- 【Nullable型の宣言】
-
//書き方1 Nullable<int> i = null; //書き方2 int? i = null;
プロパティ/メソッド | 意味 | サンプル |
---|---|---|
HasValue | nullでないか判定する | bool b = i.HasValue; |
Value | Nullableでない型で値を取得する ※nullの状態でこれを呼び出すとエラーとなるので、必ずHasValueとセットで使う。 | int j = i.Value; |
GetValueOrDefault(val) | nullの場合のデフォルト値を指定して呼び出す | int j = i.GetValueOrDefault(9); |
- 【サンプル】
-
// Null判定&値取得 if (i.HasValue){ int a = i.Value; } // Nullの場合のデフォルト値を指定して値取得 int? i = null; int a = i.GtValueOrDefault(100); →100 // iはnullなのでデフォルト値が返ります int? i = 200; int a = h.GetValueOrDefault(100); →200 // iはnullでないのでiがそのまま返ります