データ型の変換とは?
データというのは数値型や文字列型などがあるため、用途に合わせて、型変換が必要になります。例えば画面に表示する場合の100は文字ですが、内部で計算に使用する場合は、数値型に変換しないと足し算などの計算はできません。そのように用途に合った型変換が必要なので、型変換のやり方を解説していきます。
データ型の変換の書き方
キャスト
キャストは数値同士などの似た者同士を変換するときに使います。例えばdouble型をint型に変換する場合に使います。
double d1 = 1.9d; int a = (int)d1; MessageBox.Show(a.ToString());
この場合aの値は「1」になります。
short shortValue = 10; int intValue = shortValue;
Shortをintに変換する場合は、特になにも記述しなくても暗黙的な型変換が行われる。自分よりも大きな型に入れる場合はこのような記述ができる。
Parse
string value = "10"; int intValue = int.Parse(value);
この場合は文字列の10がParseでintに変換される。
string value = "aaa"; int intValue = int.Parse(value);
数値に変換できない文字列をintに変換しようとした場合はFormatExceptionとなります。
string value = "10.4"; int intValue = int.Parse(value);
浮動小数点数になりうる数値の文字列をintに変換しようとしてもFormatExceptionになります。
TryParse
string value = "10.4"; int intValue; bool result = int.TryParse(value, out intValue);
TryParseの場合は戻り値がboolであり、変換できたらTrue、できない場合はFalseが返却されます。Intへの変換後の値はoutキーワードで指定した引数に格納されます。例外が発生しないことがParseとの違いです。
Convert
string value = "10"; int intValue = Convert.ToInt32(value);
ParseとConvertの違いはほとんどありません。違いは変換対象がNullの場合にConvertの場合は「0」ゼロになるのに対して、Parseの場合はArgmentNullExceptionとなります。違いはその程度です。
キャストと型変換 (C# プログラミング ガイド)
https://docs.microsoft.com/ja-jp/dotnet/csharp/programming-guide/types/casting-and-type-conversions
文字列を数値に変換する (C# プログラミング ガイド)
まとめ
Parse | 失敗時は例外 |
---|---|
TryParse | 失敗時はFalse |
Convert | 失敗時は例外(Nullを数値に変換時は0になる) |
ToString() | 文字列に変換 |
- C#初心者のための基礎!C#文法2割の知識で8割の仕事をする方法!#1
- C#初心者のための基礎!ブロックと名前空間とクラスとメソッドを解説#2
- C#初心者のための基礎!#3値の扱い方。変数と定数をわかりやすく解説!
- C#初心者のための基礎!データ型の種類と使い分けをわかりやすく解説#4
- C#初心者のための基礎!値型と参照型の違いと使い方をわかりやすく解説#5
- C#初心者のための基礎!データ型の変換のやり方をわかりやすく解説#6
- C#初心者のための基礎!配列の使い方をわかりやすく解説#7
- C#初心者のための基礎!動的配列List<T>の使い方をわかりやすく解説#8
- C#初心者のための基礎!演算子の使い方をわかりやすく解説#9
- C#初心者のための基礎!if文とswich文の使い方をわかりやすく解説#10
- C#初心者のための基礎!while文の書き方と使い方をわかりやすく解説#11
- C#初心者のための基礎!do-While文の書き方と使い方をわかりやすく解説#12
- C#初心者のための基礎!for文の書き方と使い方をわかりやすく解説#13
- C#初心者のための基礎!foreach文の書き方と使い方をわかりやすく解説#14
- C#初心者のための基礎!オブジェクト指向の意味をわかりやすく解説#15
- C#初心者のための基礎!クラスの意味と使い方をわかりやすく解説#16
- C#初心者のための基礎!コンストラクタの意味と使い方をわかりやすく解説#17
- C#初心者のための基礎!アクセス修飾子の意味と使い方をわかりやすく解説#18
- C#初心者のための基礎!メソッドの意味と使い方をわかりやすく解説#19
- C#初心者のための基礎!フィールドの意味と使い方をわかりやすく解説#20
- C#初心者のための基礎!インスタンスの意味と使い方をわかりやすく解説#21
- C#初心者のための基礎!カプセル化の意味と使い方をわかりやすく解説#22
- C#初心者のための基礎!プロパティの意味と使い方をわかりやすく解説#23
- C#初心者のための基礎!Disposeとusingの意味と使い方を解説#24
- C#初心者のための基礎!staticスタティックの意味と使い方を解説#25
- C#初心者のための基礎!継承の意味と使い方をわかりやすく解説#26
- C#初心者のための基礎!override(オーバーライド)の使い方を解説#27
- C#初心者のための基礎!ポリモーフィズムとインタフェースの使い方を解説#28
- C#初心者のための基礎!ポリモーフィズムと抽象クラスの使い方を解説#29
- C#初心者のための基礎!例外Exceptionの意味と使い方をわかりやすく解説#30