C# データ型とデータ型を調べる方法です。
目次
データ型 | データ型とは / 値型とは / 参照型とは |
データ型の一覧 | |
調べる | データ型を真偽値で判定(is) / データ型を名称で返す(GetType) |
データ型とは
- データ型とは、データの種類を表します。
- C#のデータ型は、値型と参照型とその他があります。
- その他は、ポインタ型です。
- 以下は、WikipediaのC Sharpのデータ型のリンクです。
https://ja.wikipedia.org/wiki/C_Sharp%E3%81%AE%E3%83%87%E3%83%BC%E3%82%BF%E5%9E%8B
値型とは
- 値型の変数には、値が格納されます。
- 変数とは、int a = 0;とあったときのaです。0が値です。
- 基本型は、プリミティブ型、原始型とも呼ばれます。
参照型とは
- C#のデータ型の参照型は、文字列型、object型、クラス、インターフェース、配列等があります。
- 参照型の変数には、参照先のアドレスが格納されます。
- 値は指定されたアドレスにあります。
- 参照先がない状態がnullです。
- 参照型はリファレンス型とも呼ばれます。
データ型の一覧
intやstringは、System.Int32やSystem.Stringの別名(エイリアス)です。
分類 | データ型 | 範囲 | 備考 |
---|---|---|---|
整数型 | byte | 0~255 | System.Byte,8ビット |
sbyte | -128~127 | System.SByte | |
ushort | 0~65,535 | System.UInt16 | |
short | -32,768~32,767 | System.Int16 | |
uint | 0~約420億(9桁) | System.UInt32 | |
int | 約-21億~21億(10桁) | System.Int32,デフォルト値は0 | |
ulong | 0~約1800京(20桁) | System.UInt64 | |
long | 約-922京~約922京(19桁) | System.Int64 | |
実数型 | float | 32ビット単精度 浮動小数点数 |
System.Single |
double | 64ビット倍精度 浮動小数点数 |
System.Double | |
decimal | 10進数型 | System.Decimal | |
論理型 | bool | true / false | System.Boolean デフォルト値はfalse |
文字型 | char | ¥u0000~¥uffff 0~65535の範囲 |
System.Char Unicode(UTF-16)の文字に対応する数値コード,デフォルト値はnull文字 |
文字列型 | string | System.String デフォルト値はnull |
参考URL:組み込み型 (C# リファレンス)
https://docs.microsoft.com/ja-jp/dotnet/csharp/language-reference/builtin-types/built-in-types
データ型を真偽値で判定(is)
値 is データ型 |
- isの右に調べたいデータ型を指定します。
- 戻り値は、真偽値を返します。一致している場合はtrueです。
using System;
class Test1
{
static void Main()
{
byte a = 10;
Console.WriteLine(a is byte); // True
short b = 10;
Console.WriteLine(b is short); // True
int c = 10;
Console.WriteLine(c is int); // True
long d = 10;
Console.WriteLine(d is long); // True
string str1 = "test";
Console.WriteLine(str1 is string); // True
}
}
データ型を名称で返す(GetType)
戻り値は、データ型の名称です。intは、System.Int32です。
using System;
class Test1
{
static void Main()
{
byte a = 10;
Console.WriteLine(a.GetType()); //System.Byte
short b = 10;
Console.WriteLine(b.GetType()); //System.Int16
int c = 10;
Console.WriteLine(c.GetType()); //System.Int32
long d = 10;
Console.WriteLine(d.GetType()); //System.Int64
string str1 = "test";
Console.WriteLine(str1.GetType()); //System.String
}
}
関連の記事