C#でstringをintに変換する主な方法
C#でstring型をint型に変換する主な方法として、int.Parse()メソッドとint.TryParse()メソッドが挙げられます。int.Parse()メソッドは変換に失敗すると例外をスローしますが、int.TryParse()メソッドは変換の成否をブール値で返します。これらのメソッドを使用することによって、文字列を整数に安全に変換することが可能です。
// サンプルコード
string numberString = "123";
int result;
// int.Parse()メソッドを使用
int parsedNumber = int.Parse(numberString);
// int.TryParse()メソッドを使用
bool success = int.TryParse(numberString, out result);
Console.WriteLine($"int.Parse() result: {parsedNumber}");
Console.WriteLine($"int.TryParse() success: {success}, result: {result}");
// 実行結果
int.Parse() result: 123
int.TryParse() success: True, result: 123
int.Parse()メソッドは変換可能な文字列が確実に与えられる場合に適しているが、int.TryParse()メソッドは入力が不確実な場合や例外処理を避けたい場合に有用です。変換に失敗した場合、result
変数には0が代入されます。
これらのメソッドを使用する際は、文字列が数値形式であることを事前に確認することが重要です。数値以外の文字が含まれている場合、変換は失敗し、例外が発生するかfalseが返されます。
stringからintへの変換における例外処理
C#でstring型からint型への変換時には、適切な例外処理を行うことが重要です。int.Parse()メソッドを使用する場合、FormatExceptionやOverflowExceptionが発生する可能性があります。これらの例外を適切に処理することによって、プログラムの堅牢性が向上します。
// サンプルコード
string[] inputs = { "123", "abc", "2147483648" };
foreach (string input in inputs)
{
try
{
int result = int.Parse(input);
Console.WriteLine($"変換成功: {input} → {result}");
}
catch (FormatException)
{
Console.WriteLine($"FormatException: '{input}' は数値形式ではありません。");
}
catch (OverflowException)
{
Console.WriteLine($"OverflowException: '{input}' はint型の範囲外です。");
}
}
// 実行結果
変換成功: 123 → 123
FormatException: 'abc' は数値形式ではありません。
OverflowException: '2147483648' はint型の範囲外です。
FormatExceptionは入力文字列が数値形式ではない場合に発生し、OverflowExceptionはint型の範囲(-2,147,483,648から2,147,483,647)を超える値が入力された場合に発生します。大規模なアプリケーションや高頻度の変換操作を行う場合は、パフォーマンスの観点からint.TryParse()メソッドの使用を検討することが重要です。
int.TryParse()メソッドを使用すると例外処理のオーバーヘッドを回避できるため、C#でのstring型からint型への変換において最も推奨される方法と言えます。特にユーザー入力などの信頼性の低いデータを扱う場合は、常にTryParseメソッドの使用を検討しましょう。
C#でintをstringに変換する方法
C#でint型をstring型に変換する場合、ToStringメソッドが一般的です。ToStringメソッドは整数値を文字列表現に変換し、様々な書式指定オプションを提供します。また、文字列補間($記号を使用)やConvert.ToStringメソッドも代替手段として利用できます。
// サンプルコード
int number = 42;
// ToStringメソッドを使用
string str1 = number.ToString();
// 文字列補間を使用
string str2 = $"{number}";
// Convert.ToStringメソッドを使用
string str3 = Convert.ToString(number);
Console.WriteLine($"ToString(): {str1}");
Console.WriteLine($"文字列補間: {str2}");
Console.WriteLine($"Convert.ToString(): {str3}");
// 実行結果
ToString(): 42
文字列補間: 42
Convert.ToString(): 42
ToStringメソッドは書式指定子を使用することで出力形式をカスタマイズできます。例えば、number.ToString("D5")
と指定すると、5桁の10進数形式("00042")で出力されます。国際化対応が必要な場合は、number.ToString(CultureInfo.InvariantCulture)
を使用すると文化情報に依存しない変換が可能です。
C#においてint型からstring型への変換は通常高速ですが、パフォーマンスが重要な場合は文字列のキャッシュやStringBuilderの使用を検討しましょう。また、大量の数値を文字列に変換する場合は、一括処理を行うことでアプリケーションの効率を向上させることができます。
※上記コンテンツの内容やソースコードはAIで確認・デバッグしておりますが、間違いやエラー、脆弱性などがある場合は、コメントよりご報告いただけますと幸いです。
ITやプログラミングに関するコラム
- IT研修で使える助成金まとめ!必要性や活用するメリット・デメリットを徹底解説
- 【Python】引数に型指定をしてコーディングする方法
- 【Python】replaceメソッドで正規表現を使う方法
- 【Python】class変数の基本とインスタンス変数との違いを解説