C#のChar構造体とは?主要メソッドとIsSymbol・IsWhiteSpaceの使い方を解説
C#におけるChar構造体は、1文字をUTF-16コード単位として表現するための型です。文字の判定や変換を行うための便利な静的メソッドが多数用意されており、文字列処理において頻繁に活用されます。
ここでは、Char構造体が提供する代表的なメソッドを一覧で紹介します。
| メソッド | 説明 |
|---|---|
| ConvertToUtf32(Char, Char) | UTF-16エンコードされたサロゲートペアの値を、Unicodeコードポイントに変換します。 |
| ConvertToUtf32(String, Int32) | 文字列内の指定位置にあるUTF-16エンコードされた文字またはサロゲートペアの値を、Unicodeコードポイントに変換します。 |
| Equals(Char) | このインスタンスが、指定されたCharオブジェクトと等しいかどうかを示す値を返します。 |
| Equals(Object) | このインスタンスが、指定されたオブジェクトと等しいかどうかを示す値を返します。 |
| GetHashCode() | このインスタンスのハッシュコードを返します。 |
| GetNumericValue(Char) | 指定された数値を表すUnicode文字を、倍精度浮動小数点数に変換します。 |
| IsDigit(String, Int32) | 指定された文字列内の指定位置にある文字が、10進数の数字として分類されているかどうかを示します。 |
| IsLetter(Char) | 指定されたUnicode文字が、Unicodeの英字(レター)として分類されているかどうかを示します。 |
| IsLetter(String, Int32) | 指定された文字列内の指定位置にある文字が、Unicodeの英字として分類されているかどうかを示します。 |
| IsLetterOrDigit(Char) | 指定されたUnicode文字が、英字または10進数の数字として分類されているかどうかを示します。 |
| IsLetterOrDigit(String, Int32) | 指定された文字列内の指定位置にある文字が、英字または10進数の数字として分類されているかどうかを示します。 |
| IsLower(Char) | 指定されたUnicode文字が、小文字の英字として分類されているかどうかを示します。 |
| IsPunctuation(String, Int32) | 指定された文字列内の指定位置にある文字が、句読点(区切り記号)として分類されているかどうかを示します。 |
Char.IsSymbol()メソッドとは
Char.IsSymbol()メソッドは、指定された文字列内の指定位置にある文字が、記号(シンボル)として分類されているかどうかを判定するメソッドです。
構文
public static bool IsSymbol (string str, int index);
パラメータの意味は以下のとおりです。
- str: 判定対象の文字が含まれる文字列
- index: str内で評価する文字の位置
使用例
それでは、Char.IsSymbol()メソッドを実装したサンプルコードを見てみましょう。
using System;
public class Demo {
public static void Main(){
bool res;
char val = 'P';
Console.WriteLine("Value = "+val);
res = Char.IsSymbol(val);
Console.WriteLine("Is the value a symbol? = "+res);
}
}
実行結果
上記のコードを実行すると、次のような出力が得られます。
Value = P Is the value a symbol? = False
文字「P」はアルファベットであり記号ではないため、結果はFalseとなります。
Char.IsWhiteSpace()メソッドとは
Char.IsWhiteSpace()メソッドは、指定されたUnicode文字が空白文字(ホワイトスペース)であるかどうかを判定するメソッドです。
構文
public static bool IsWhiteSpace (char ch);
パラメータのchには、評価対象となるUnicode文字を指定します。
使用例
続いて、Char.IsWhiteSpace()メソッドを実装したサンプルコードを見てみましょう。
using System;
public class Demo {
public static void Main(){
bool res;
char val = ' ';
Console.WriteLine("Value = "+val);
res = Char.IsWhiteSpace(val);
Console.WriteLine("Is the value whitespace? = "+res);
}
}
実行結果
上記のコードを実行すると、次のような出力が得られます。
Value = Is the value whitespace? = True
変数valには半角スペースが代入されているため、結果はTrueとなります。このように、Char構造体のメソッドを使えば、文字種別の判定を簡単に行うことができます。
-
C#のChar.ToUpperInvariant(Char)メソッドとは?構文とサンプルコードを解説
C# の Char.ToUpperInvariant() メソッドは、インバリアントカルチャ(カルチャに依存しない固定の規則)の大文字・小文字の規則に基づいて、Unicode 文字の値を対応する大文字に変換するためのメソッドです。 このメソッドは静的(static)メソッドであり、実行環境のカルチャ設定に影響されない点が大きな特徴です。そのため、どの地域や言語設定の環境で実行しても常に同じ結果が得られます。トルコ語のように大文字化の挙動がカルチャによって変わる文字(例:i → I / İ)を扱う場合でも、安定した動作が求められる場面で特に有用です。 構文 public static char
-
C#のdecimal型で使える主な関数一覧とCeilingメソッドの使い方
C#では、decimal型(10進数型)を操作するための便利なメソッドが多数用意されています。金額計算など高精度な数値処理が必要な場面で活躍するこれらの関数について、代表的なものを一覧形式で紹介します。C#の主なdecimal関数一覧番号メソッド名と説明1Add (Decimal, Decimal)指定した2つのDecimal値を加算します。2Ceiling(Decimal)指定した10進数以上の最小の整数値を返します。3Compare (Decimal, Decimal)指定した2つのDecimal値を比較します。4CompareTo(Decimal)このインスタンスと指定されたDecima