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

【C#入門】Char.IsControl(String, Int32)メソッドの使い方を解説

C#のChar.IsControl(String, Int32)メソッドは、指定した文字列の中から指定された位置にある文字が「制御文字」に分類されるかどうかを判定するためのメソッドです。制御文字とは、画面上には表示されず、改行やタブなどの特殊な動作を表す文字のことを指します。

構文

public static bool IsControl (string str, int index);

各パラメータの意味は以下の通りです。

  • str: 判定対象となる文字列
  • index: str 内で評価する文字の位置(インデックス)

戻り値はbool型で、指定位置の文字が制御文字であれば true、そうでなければ false を返します。

実装例

それでは、Char.IsControl(String, Int32)メソッドを使った具体的なサンプルコードを見てみましょう。

using System;
using System.Globalization;
public class Demo {
    public static void Main(){
        string val = "hjk9878hj";
        Console.WriteLine("String = "+val);
        UnicodeCategory unicode = Char.GetUnicodeCategory(val, 4);
        Console.WriteLine("The value at specific index = "+unicode);
        bool res = Char.IsControl(val, 4);
        if (res)
            Console.WriteLine("Control character found!");
        else
            Console.WriteLine("Control character isn't there");
    }
}

このサンプルでは、まず文字列「hjk9878hj」を作成し、Char.GetUnicodeCategoryメソッドでインデックス4(5番目)の文字のUnicodeカテゴリを取得しています。その後、同じ位置に対してChar.IsControlメソッドを呼び出し、その文字が制御文字かどうかを判定しています。

実行結果

上記のコードを実行すると、次のような出力が得られます。

String = hjk9878hj
The value at specific index = DecimalDigitNumber
Control character isn't there

インデックス4の文字は数字「9」(DecimalDigitNumber)であるため、制御文字ではないと判定され、「Control character isn't there」という結果が出力されています。このように、Char.IsControlメソッドを使用することで、文字列中の任意の位置にある文字が制御文字かどうかを簡単にチェックできます。入力データの検証やテキスト処理において、不正な制御文字の混入を防ぎたい場合などに活用できる便利なメソッドです。

  1. C#のChar.ToUpperInvariant(Char)メソッドとは?構文とサンプルコードを解説

    C# の Char.ToUpperInvariant() メソッドは、インバリアントカルチャ(カルチャに依存しない固定の規則)の大文字・小文字の規則に基づいて、Unicode 文字の値を対応する大文字に変換するためのメソッドです。 このメソッドは静的(static)メソッドであり、実行環境のカルチャ設定に影響されない点が大きな特徴です。そのため、どの地域や言語設定の環境で実行しても常に同じ結果が得られます。トルコ語のように大文字化の挙動がカルチャによって変わる文字(例:i → I / İ)を扱う場合でも、安定した動作が求められる場面で特に有用です。 構文 public static char

  2. 【C#入門】Char.IsControl(String, Int32)メソッドの使い方を解説

    C#のChar.IsControl(String, Int32)メソッドは、指定した文字列の中から指定された位置にある文字が「制御文字」に分類されるかどうかを判定するためのメソッドです。制御文字とは、画面上には表示されず、改行やタブなどの特殊な動作を表す文字のことを指します。構文public static bool IsControl (string str, int index);各パラメータの意味は以下の通りです。str: 判定対象となる文字列index: str 内で評価する文字の位置(インデックス)戻り値はbool型で、指定位置の文字が制御文字であれば true、そうでなければ fal