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

C#のChar.IsLetterOrDigit()メソッドとは?文字が英字または数字か判定する方法

C#のChar.IsLetterOrDigit()メソッドは、指定されたUnicode文字が「英字(letter)」または「10進数の数字(decimal digit)」に分類されるかどうかを判定し、その結果をbool値(true / false)で返します。

文字列のバリデーションや入力チェックなど、文字種を確認したい場面でよく使われる便利なメソッドです。

構文

Char.IsLetterOrDigit()メソッドの構文は以下のとおりです。

public static bool IsLetterOrDigit (char ch);

引数のchには、判定対象となるUnicode文字を指定します。戻り値として、文字が英字または数字であればtrue、それ以外であればfalseが返されます。

使用例1:数字を判定する場合

まずは、数字の文字「'1'」を判定する例を見てみましょう。

using System;
public class Demo {
    public static void Main(){
        bool res;
        char val = '1';
        Console.WriteLine("Value = "+val);
        res = Char.IsLetterOrDigit(val);
        Console.WriteLine("Is the value a letter or digit? = "+res);
    }
}

出力結果

このコードを実行すると、以下のような出力が得られます。

Value = 1
Is the value a letter or digit? = True

文字「'1'」は10進数の数字に分類されるため、結果はTrueとなります。

使用例2:記号を判定する場合

次に、記号「'$'」を判定した場合の例です。

using System;
public class Demo {
    public static void Main(){
        bool res;
        char val = '$';
        Console.WriteLine("Value = "+val);
        res = Char.IsLetterOrDigit(val);
        Console.WriteLine("Is the value a letter or digit? = "+res);
    }
}

出力結果

実行すると、以下の出力になります。

Value = $
Is the value a letter or digit? = False

「'$'」は英字にも数字にも分類されないため、結果はFalseとなります。

まとめ

Char.IsLetterOrDigit()メソッドを使うことで、指定した1文字が英字または数字であるかどうかを簡単に判定できます。半角英数字のみを許可する入力チェックなどで活用できるので、ぜひ覚えておきましょう。

  1. C#のChar.IsUpper()メソッドとは?大文字判定の使い方を解説

    概要C#のChar.IsUpper()メソッドは、指定されたUnicode文字が「大文字」に分類されるかどうかを判定するメソッドです。判定結果はbool型で返され、文字が大文字であればtrue、それ以外であればfalseを返します。構文public static bool IsUpper(char ch);パラメータchには、判定対象となるUnicode文字を指定します。戻り値文字が大文字の場合:trueそれ以外の場合:false使用例1:大文字を判定する場合まずは、大文字「H」を判定するサンプルコードを見てみましょう。using System; public class Demo {

  2. C#のChar.IsSymbol()メソッドとは?文字が記号かどうかを判定する方法を解説

    Char.IsSymbol()メソッドとはC#のChar.IsSymbol()メソッドは、指定された文字列内の指定位置にある文字が、Unicodeの「記号(Symbol)」カテゴリに分類されているかどうかを判定するメソッドです。戻り値はbool型で、記号であればtrue、そうでなければfalseを返します。判定対象となるのは、数学記号(+、=など)、通貨記号($、¥など)、修飾記号、その他の記号といったUnicode記号カテゴリに属する文字です。構文public static bool IsSymbol (string str, int index);パラメータstr:評価対象の文字列inde