C# - string 型と int 型の相互変換
初めに
C# における string 型から int 型への変換に使う int.Parse()、int.TryParse() と int 型から string 型への変換に使う Object.ToString() の使い方をまとめます。
Index
string から int への変換
int.Parse()
int.Parse() は文字列を整数型の値に変換する関数です。
public static int Parse (string s);
(例)
using System; class Program { static void Main() { string numberString = "123"; //string型の"123"からint型の123に変換 int number = int.Parse(numberString); Console.WriteLine(number); //123 } }
"123a" のように文字列が整数値を表していない場合、FormatException(引数の形式が正しくない場合にスローされる例外)がスローされるため、引数が整数の形であることを確認する必要があります。
int.TryParse()
int.TryParse() は文字列を整数型の値に変換する際に、変換の成功や失敗を bool 値で取得できる関数です。
変換に成功した場合、trueを返し、out パラメータで指定した変数に整数を代入します。変換に失敗した場合は false を返します。変換に失敗した場合、outパラメータで指定した変数にはデフォルト値が設定されます。
public static bool TryParse (string? s, IFormatProvider? provider, out int result); public static bool TryParse (string? s, out int result);
(例)
using System; class Program { static void Main() { string numberString = "123"; int number; //numberStringをint型に変換しようとする //成功した場合はtrueを返し, numberに変換された数値をnumberに代入する bool success = int.TryParse(numberString, out number); if (success) //今回はsuccessがtrue { Console.WriteLine("変換成功: " + number); //変換成功: 123 } else { Console.WriteLine("変換失敗"); } } }
int から string への変換
Object.ToString()
Object.ToString() は現在のオブジェクトを表す文字列を返します。
すべてのクラスはObjectクラスを継承しているため、ToString()メソッドは int 型に限らず、どのオブジェクトでも利用可能です。
public virtual string? ToString ();
(例)
using System; class Program { static void Main() { int number = 123; //123からstring型の"123"に変換 string numberString = number.ToString(); Console.WriteLine(numberString); //123 //double型からstring型への変換 double pi = 3.141592653589793; string piString = pi.ToString(); //DateTime型からstring型への変換 DateTime now = DateTime.Now; string nowString = now.ToString(); } }