【C#】異なる型への変換方法について
今回は、異なる型への変換方法について記述します。
例えば、string型をDataTime型に変換したり、int型をlong型に変換したり。。。などなど
いろんな型変換を試してみます。
◆stringの型変換
stringの場合は、数値データ型.Parse(string str)で変換することが可能です。
例えば、string→intの場合
string str1 = "123"; int num1 = int.Parse(str1);
◆数値型の型変換
数値型に関しては、キャストを使用し明示的にデータを宣言することで変換することが可能です。
例えば、int→longの場合
int i = 123; long l = (long)i;
次に、下記の通りに型に変換するプログラムを実装してみました。
・sbyte → short → int → long
・string → int
・string → DateTime
◆型変換のソースコード
using System; class Task_5 { public static void Main() { sbyte sb = 123; short sh = (short)sb; int i = (int)sh; long l = (long)i; string str1 = "123"; int num = int.Parse(str1); string str2 = "2018/7/2 8:00:00"; DateTime dt1 = DateTime.Parse(str2); Console.WriteLine("sbyte:" + sb); Console.WriteLine("sbyte→short:" + sh); Console.WriteLine("short→int:" + i); Console.WriteLine("int→long:" + l); Console.WriteLine("string→int:" + num); Console.WriteLine("string→DateTime:" + dt1); } }
◆型変換の実行結果
◆型変換できない事例
型の小さいものから大きいものへの代入は、暗黙的に型変換が行われて問題は起きません。
しかし、逆のパターンで型の大きいものから小さいものへの代入はコンパイルエラーになります。
※範囲内であればエラーにならない場合もある。
そのため、明示的に型変換を行って代入することをおすすめします。
以上です。
この記事が誰かの役に立つことを祈ります。