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

C#で指定した文字列の値を等価なUnicode文字(char)に変換する方法

C#では、Char.TryParseメソッドを使用することで、指定された文字列の値を等価なUnicode文字(char型)に変換できます。このメソッドは、変換が成功したかどうかを示すbool値を返し、成功した場合にはoutパラメータに変換結果の文字が格納されます。

なお、Char.TryParseが成功するのは、対象の文字列がちょうど1文字である場合のみです。複数の文字を含む文字列は単一のchar型に変換できないため、変換は失敗します。

例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」という2文字の文字列を変換しようとしています。char型は1つの文字しか表現できないため、TryParseは失敗し、falseが返されます。そのため、chには何も格納されず、文字の出力も行われません。

例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」を変換しています。文字列が1文字だけであるため、変換は成功し、trueが返されます。また、outパラメータのchに変換結果の文字「P」が格納されるため、Console.WriteLineによって正しく出力されています。

まとめ

Char.TryParseは、例外をスローせずに安全に文字列からcharへの変換を行える便利なメソッドです。変換の成否をbool値で確認できるため、ユーザー入力など不確実な文字列を扱う際に特に有用です。変換対象の文字列が必ず1文字であることを意識して使用しましょう。

  1. C#で文字列の最初の文字を取得するには?

    C#で文字列の先頭の1文字を取得したい場合、Substring()メソッドを使うのが最もシンプルで一般的な方法です。対象となる文字列の例まず、次のような文字列があったとします。string str = Welcome to the Planet!;Substring()メソッドで最初の文字を取り出す最初の文字だけを取得するには、Substring(0, 1)のように、開始位置「0」から抽出する長さ「1」を指定します。string res = str.Substring(0, 1);これで変数 res には文字列の1文字目だけが格納されます。サンプルコード(完全版)実際に動作するコード全体は以下

  2. C#で文字列内の各文字の出現回数をカウントする方法

    C#では、文字列に含まれる各文字が何回出現するかを簡単にカウントできます。本記事では、while文・for文・Replaceメソッドを組み合わせて、各文字の出現回数を求めるプログラムの作成方法を解説します。手順1:対象となる文字列を設定するまず、カウント対象となる文字列を用意し、コンソールに表示します。string str = Website; Console.WriteLine(String: +str);手順2:各文字の出現回数をカウントする次に、文字列内のすべての文字を順番に走査し、先頭の文字(str[0])と一致した回数をカウントする変数をインクリメントします。for (int j =