C#
 Computer >> コンピューター >  >> プログラミング >> C#

C#のint.Parseメソッドとint.TryParseメソッドの違いと使い方

C#では、数値を表す文字列を整数(int型)に変換するために、int.Parseメソッドとint.TryParseメソッドを使用できます。どちらも同じ変換処理を行いますが、変換に失敗した場合の挙動が大きく異なります。

int.Parseとint.TryParseの違い

int.TryParseメソッドは、文字列を整数に変換できなかった場合にfalseというブール値を返します。一方、int.Parseメソッドは変換できない場合に例外(Exception)をスローします。

そのため、ユーザー入力など不確実なデータを扱う場面では、例外処理が不要なint.TryParseの方が安全で効率的です。

int.Parseメソッドの使用例

まずは、int.Parseメソッドを使った基本的な例を見てみましょう。

using System.IO;
using System;
class Program {
    static void Main() {
        int res;
        string myStr = "120";
        res = int.Parse(myStr);
        Console.WriteLine("String is a numeric representation: "+res);
    }
}

出力結果

String is a numeric representation: 120

この例では、文字列「120」が整数120に正常に変換され、コンソールに出力されています。ただし、myStrが「abc」のような数値以外の文字列だった場合、int.ParseはFormatExceptionなどの例外をスローすることに注意してください。

int.TryParseメソッドの使用例

次に、int.TryParseメソッドの使用例を見てみましょう。

using System.IO;
using System;
class Program {
    static void Main() {
        bool res;
        int a;
        string myStr = "120";
        res = int.TryParse(myStr, out a);
        Console.WriteLine("String is a numeric representation: "+res);
    }
}

出力結果

String is a numeric representation: True

int.TryParseメソッドは第1引数に変換対象の文字列、第2引数にoutキーワードを付けた出力用の変数を渡します。変換が成功すると戻り値としてtrueが返され、out引数には変換後の整数が格納されます。失敗した場合はfalseが返され、out引数には0が設定されます。

まとめ

  • int.Parse:変換に成功すれば整数を返すが、失敗すると例外をスローする
  • int.TryParse:変換の成否をブール値で返し、失敗しても例外が発生しないため安全

入力値が確実に数値であることが保証されている場合はint.Parse、そうでない場合はint.TryParseを使い分けることで、堅牢なC#プログラムを作成できます。

  1. C#のbool.Parseメソッドで文字列をbool型に変換する方法

    C#では、文字列をbool型(真偽値)に変換する際に、bool.Parseメソッドを使用します。このメソッドは、「true」や「false」といった文字列を、プログラム内で扱える真偽値へと変換してくれます。基本的な使い方まず、変換元となる文字列を用意します。string str = true;次に、bool.Parseメソッドを使って文字列をbool型に変換します。bool res = bool.Parse(str);サンプルコード以下は、文字列をbool型に変換して結果をコンソールに出力する完全なコード例です。using System; using System.Linq; class D

  2. 【C#】String.Join()メソッドで文字列配列を連結する方法

    String.Join()メソッドとはC#のString.Join()メソッドは、文字列配列のすべての要素を1つの文字列に連結するためのメソッドです。各要素の間には、引数で指定した区切り文字(セパレーター)が自動的に挿入されます。たとえば、区切り文字として改行コード「\n」を指定すれば、配列の各要素がそれぞれ別の行に配置された、複数行の文字列を簡単に作成できます。基本的な構文String.Join(\n, starray);第1引数: 要素間に挿入する区切り文字第2引数: 連結対象の文字列配列戻り値: 連結された1つの文字列サンプルコード以下は、5つの文字列要素を持つ配列を改行コードで連結し、