C#プチリファレンス

C# 型変換(キャスト)

型変換のサンプルです。

string型→数値型、真偽型

string型からプリミティブ型への型変換サンプルです。

例)
int a = int.Parse("123");           // int型へ
long a = long.Parse("123");         // long型へ
float a = float.Parse("123.45");    // float型へ
double a = double.Parse("123.45");  // double型へ
bool b = bool.Parse("true");        // bool型へ

数値型、真偽型→string型

プリミティブ型からstring型への型変換サンプルです。

例)
// int型から
int i = 123;
string  = i.ToString();

// long型から
long l = 123;
string a = l.ToString();

// float型から
float f = 123.45;
string a = f.ToString();

// double型から
double d = 123.45;
string a = d.ToString();

// bool型から
bool b = false;
string a = b.ToString();

日付文字列→DateTime型

例)string型 "2014/12/30 16:23:12" をDateTime型に変換する
DateTime dt = DateTime.ParseExact("2014/12/30 16:23:12", "yyyy/MM/dd HH:mm:ss", null);

DateTime型→string型

例)DateTime型変数(dt) をstring型(yyyy/MM/dd HH:mm:ss)に変換する
string str = dt.ToString("yyyy/MM/dd HH:mm:ss");

特定の型を指定して型変換する

例)変数 obj をHoge型に変換する
Hoge hg = (Hoge)obj;

※型変換できない場合は例外が発生します。

型変換できるかチェックする

想定外の型が予想される場合は、型のチェックをしてから型変換をするのがベストです。

例)
// int型にキャストできるかどうかチェックする
int aa;
string str = "123";
bool b = int.TryParse(str, out aa);

// DateTime型にキャストできるかどうかチェックする
DateTime aa;
string str = "2014/11/3";
bool b = DateTime.TryParse(str, out aa);

// 変数objがSample型かどうかを判定してから型変換する(方法1)
if (obj.GetType() == typeof(Sample))
{
  Sample s = (Sample)obj;
}

// 変数objがSample型かどうかを判定してから型変換する(方法2)
if (obj is Sample)
{
  Sample s = (Sample)obj;
}
ToTop