C#: データ型一覧

c_charp_logo C#

C#のデータ型(変数型と言った方が分かりやすいかもしれませんが)の一覧を表形式にしました。

MSDNのページでは、「C#とJavaの比較」といった形で紹介されています。

C#データ型一覧

短い名前(エイリアス) 大元のクラス(.NET クラス) 型説明 Bit幅 範囲
byte System.Byte 符号なし整数 8 0 ~ 255
sbyte System.SByte 符号付き整数 8 -128 ~ 127
int System.Int32 符号付き整数 32 -2,147,483,648 ~ 2,147,483,647
uint System.UInt32 符号なし整数 32 0 ~ 4294967295
short System.Int16 符号付き整数 16 -32,768 ~ 32,767
ushort System.UInt16 符号なし整数 16 0 ~ 65535
long System.Int64 符号付き整数 64 -922337203685477508 ~ 922337203685477507
ulong System.UInt64 符号なし整数 64 0 ~ 18446744073709551615
float System.Single 単精度浮動小数点型 32 -3.402823e38 ~ 3.402823e38
double System.Double 倍精度浮動小数点型 64 -1.79769313486232e308 ~ 1.79769313486232e308
char System.Char 単一 Unicode 文字 16 テキストで使用される Unicode 記号1文字
string System.String 文字列 char型Unicode 記号のコレクション
bool System.Boolean 論理型 8 true または false
decimal System.Decimal 29 の有効桁数で 10 進数を表現できる正確な小数または整数型 128 ±1.0 × 10e − 28 ~ ±7.9 × 10e28
object System.Object 他のすべての型の基本型

表のタイトル順に説明します。

短い名前(エイリアス)は、通常プログラミングで利用するときの宣言用記述です。

int a;

などのように宣言に使います。

大元のクラス(.NET クラス)は、そのデータ型がどんなプロパティやメソッドを持つかを宣言している型名(一部クラス名)だと考えてください。

型説明は、どんな用途に使うかを記述しています。
Bit幅は、そのデータ型がメモリ上でどれくらいのメモリを消費するかを表します。例としてchar型なら16Bit(=2Byte)のメモリを消費します。
範囲は、数値型の場合のみの要素です。その型で宣言した変数は、どんな範囲の数値が扱えるかという意味です。

範囲の例として、1億(=100,000,000)の数を扱うことを考えてみます。
short型で宣言すると範囲が

-32,768 ~ 32,767

となってしまうため、1億という数値を扱うことができません。
int型で宣言した場合、範囲が

-2,147,483,648 ~ 2,147,483,647

までの数値を扱えるため問題ありません。
ですからこの場合は、intあるいはlongで宣言することが望ましいと言えます。

整数を使うなら、余裕をもって常にlong型で宣言しておけばいいじゃん、という考えもありますが、intは32Bit(=4Byte)のメモリ消費に対して、longは64Bit(=8Byte)と倍のメモリを消費します。

出来るだけ少ないメモリを使う方がハードにも優しいプログラムと言えます。

コメント

  1. 匿名 より:

    Byte幅ではなく、Bit幅かと思われます。
    char型は16Bit(=2Byte)消費するのが正しいかと思います。

タイトルとURLをコピーしました