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

C#のChar.TryParse()メソッドとは?構文と使い方を実例で解説

C#のChar.TryParse()メソッドは、指定された文字列の値を、それと等価なUnicode文字(char型)へ変換するためのメソッドです。変換の成否をbool値として返すため、例外をスローせずに安全な文字変換処理を行いたい場面で活用できます。

構文

public static bool TryParse (string str, out char res);

このメソッドは次の2つの引数を受け取ります。

  • str:変換対象となる文字列
  • res:変換結果を受け取るoutパラメータ(char型)

変換に成功すればtrueを返し、失敗すればfalseを返します。失敗した場合、outパラメータにはデフォルト値が格納される点にも注意してください。

使用例1:変換に失敗するケース

using System;
public class Demo {
    public static void Main(){
        bool res;
        Char ch;
        res = Char.TryParse("10", out ch);
        Console.WriteLine(res);
        Console.WriteLine(ch.ToString());
    }
}

出力

False

この例では「10」という文字列を渡していますが、char型は1文字のみを表す型であるため、「10」のような複数文字からなる文字列は変換できません。その結果、TryParse()はfalseを返します。

使用例2:変換に成功するケース

using System;
public class Demo {
    public static void Main(){
        bool res;
        Char ch;
        res = Char.TryParse("P", out ch);
        Console.WriteLine(res);
        Console.WriteLine(ch.ToString());
    }
}

出力

True
P

今度は「P」という単一の文字を渡しているため、変換は正常に行われ、TryParse()はtrueを返します。outパラメータには変換後の文字「P」が格納され、コンソールに出力されています。

まとめ

  • Char.TryParse()は文字列をchar型(Unicode文字)に安全に変換できる
  • 変換対象は必ず1文字だけの文字列である必要がある
  • 戻り値がbool型なので、if文などで成否を判定してから処理を分岐できる

数値への変換に使うint.TryParse()やdouble.TryParse()と同じ考え方で使えるため、ユーザー入力の検証などでも役立つメソッドです。

  1. C#の列挙型Enum.TryParse()メソッドの使い方を解説

    概要C#のEnum.TryParse()メソッドは、1つ以上の列挙定数に対応する文字列表現を、等価な列挙オブジェクトへと変換します。通常のParse()メソッドと異なり、変換に失敗しても例外がスローされず、戻り値(bool型)で成功・失敗を判定できるため、安全な文字列変換処理に適しています。列挙型の定義まず、サンプルで使用する列挙型を定義します。enum Vehicle { Bus = 2, Truck = 4, Car = 10 };文字列配列の準備次に、変換対象となる文字列の配列を宣言し、数値や名前などさまざまな形式の値を設定します。string[] VehicleList = { 2,

  2. C#のint.TryParseメソッドとは?文字列を整数に安全に変換する方法

    int.TryParseメソッドの概要 C#では、int.TryParseメソッドを使うことで、数値を表す文字列を整数(int型)に変換できます。このメソッドの最大の特徴は、変換に失敗した場合でも例外をスローせず、単にfalseというブール値を返す点です。そのため、ユーザー入力など不確実なデータを扱う際に非常に便利です。 基本的な使い方 まず、数値を表す文字列があるとします。 string myStr = 12; この文字列を整数に変換するには、int.TryParse()を使用します。変換が成功すれば、結果はtrueとして返されます。 int.TryParse(myStr, out a);