1. 暗黙的な型変換
暗黙的な型変換は、より小さい整数型 (int など) からより大きな整数型 (long など) への変換など、変換プロセス中にデータが失われることなく、型セーフな方法で C# によって実行されます。クラスは変換されます。基本クラスに。
暗黙的な変換では、追加のコードを記述する必要はありません。次の例は、暗黙的な型変換を使用して int 型データを double 型に変換する方法を示しています。
int a = 10;
double b = a;
ヒント: データ型 (タイプ A) は、その値の範囲が別のデータ型 (タイプ B) の値の範囲に完全に含まれている限り、タイプ A を暗黙的にタイプ B に変換できます。この機能に基づいて、C# の暗黙的な型変換によってデータ損失が発生することはありません。
2. 明示的な型変換
明示的な型変換は、強制型変換とも呼ばれます。この変換は、 (type)value
または定義済み関数の形式で明示的に実行する必要があります。明示的な変換では、ユーザーが変換する型を明示的に指定する必要があり、変換中に可能な場合もあります。 double 型から int 型への変換など、変換処理によりデータ損失が発生します。
明示的な型変換を示す例を次に示します。
use system;
namespace it-kiso.com{
class ExplicitConversion {
static Main(string[] args) {
double d = 5673.74;
int i;
// double型をint型に変換する
i = (int)d;
Console.WriteLine("変換前{0}、変換後{1}", d, i);
Console.ReadKey();
}
}
}
上記のコードをコンパイルして実行すると、結果は次のようになります。
変換前5673.74,変換後5673
C# では、次の表に示すように、一連の組み込みの型変換メソッドも提供します。
方法 | 説明 |
---|---|
ToBoolean | 型をブール値に変換する |
ToByte | 型をバイト型に変換します |
ToChar | 型を単一の Unicode 文字型に変換します |
ToDateTime | 型 (整数または文字列型) を日時に変換する構造体 |
ToDecimal | 浮動小数点型または整数型を 10 進数型に変換します |
ToDouble | 型を倍精度浮動小数点に変換します |
ToInt16 | 型を 16 ビット整数型にキャストします |
ToInt32 | 型を 32 ビット整数型にキャストします |
ToInt64 | 型を 64 ビット整数型にキャストします |
ToSbyte | 型を符号付きバイト型に変換します。 |
ToSingle | 型を小さな浮動小数点型に変換します。 |
ToString | 型を文字列型に変換する |
ToType | 型を指定された型に変換します |
ToUInt16 | 型を 16 ビット符号なし整数型にキャストします |
ToUInt32 | 型を 32 ビット符号なし整数型にキャストします |
ToUInt64 | 型を 64 ビット符号なし整数型にキャストします |
[例] 上記のメソッドを使用して、さまざまな型のデータを文字列型に変換します。
using System;
namespace it-kiso.com{
class StringConversion {
static void Main(string[] args) {
int i = 75;
float f = 53.005;
double d = 2345.7652;
bool b = true;
Console.WriteLine(i.ToString());
Console.WriteLine(f.ToString());
Console.WriteLine(d.ToString());
Console.WriteLine(b.ToString());
Console.ReadKey();
}
}
}
上記のコードをコンパイルして実行すると、結果は次のようになります。
75
53.005
2345.7652
True