string 型を int 型にキャストするには、 int.TryParse、int.Parse、Convert.ToInt32 を使用します。
文字列 を int 型に変換する方法
int.TryParse メソッドの引数に 変換したい文字列 と 変換結果を受け取る変数 を 渡します。変換に成功した場合、戻り値 true を返します。bool 変換成否(true or false) = int.TryParse("対象の文字列", out 変数);
- 変数に失敗したとき、第二引数に渡した変数の値 は変わりません。
- 第二引数にある out は 参照渡しで値を受け取るための、C# の修飾子です。省略はできません。
int intValue;
// "1234" を int 型に変換し、変数 intValue へ格納
if (int.TryParse("1234", out intValue) == true)
{
System.Console.WriteLine("int型に変換できました。");
}
else
{
System.Console.WriteLine("int型に変換できませんでした。");
}
- 1行目: この変数に 変換結果 が格納されます。
- 4行目: 文字列 "1234" を int 型に変換し、変数 intValue へ格納しています。

手軽に変換したいとき
int.Parse または Convert.ToInt32 メソッドを使用します。ただし、変換に失敗すると 例外が発生します。int 変換結果 = int.Parse("対象の文字列");
int 変換結果 = Convert.ToInt32("対象の文字列");
- どちらも結果は変わりません。Convert.ToInt32 の内部では int.Parse を実行しています。
カンマを含む場合は変換できない
"1,000" のように、カンマが含まれていると 変換に失敗します。カンマは事前に削除しておきます。カンマを 空文字列に 置換してから 型変換
int.TryParse("1,000,000".Replace(",", ""), out intValue);
intValue = int.Parse("1,000,000".Replace(",", ""));
intValue = Convert.ToInt32("1,000,000".Replace(",", ""));
検証環境
- .NET 5.0
- Microsoft Visual Studio Professional 2019 Version 16.9.5
- Microsoft Windows 10 Pro Version 20H2 OS Build 19042.985 Experience: Windows Feature Experience Pack 120.2212.2020.0