char (C# リファレンス)

char 型のキーワードは、Unicode UTF-16 文字を表す .NET System.Char 構造体型のエイリアスです。

種類 範囲 サイズ .NET 型
char U+0000 ~ U+FFFF 16 ビット System.Char

char 型の既定値は \0 (つまり U+0000) です。

char 型では、比較演算子、等値演算子、インクリメント演算子、およびデクリメント演算子がサポートされています。 さらに、char オペランドの場合、算術演算子およびビット論理演算子によって、対応する文字コードに対する演算が実行され、int 型の結果が生成されます。

string 型では、char 値のシーケンスとしてテキストを表わします。

リテラル

char 値は以下で指定できます。

  • 文字リテラル。
  • Unicode エスケープシーケンス。これは \u の後に文字コードの 16 進数表現 (4 つの記号) を続けたものになります。
  • 16 進数エスケープシーケンス。これは \x の後に文字コードの 16 進数表現を続けたものになります。
var chars = new[]
{
    'j',
    '\u006A',
    '\x006A',
    (char)106,
};
Console.WriteLine(string.Join(" ", chars));  // output: j j j j

前の例に示したように、文字コードの値をそれに対応する char 値に型変換することもできます。

注意

Unicode エスケープ シーケンスの場合、4 つの 16 進数をすべて指定する必要があります。 つまり、\u006A は有効なエスケープ シーケンスであり、\u06A\u6A は有効ではありません。

16 進数エスケープ シーケンスの場合、先頭のゼロを省略できます。 つまり、エスケープ シーケンスの \x006A\x06A\x6A は有効であり、同じ文字に対応します。

変換

char 型は、整数型 (ushortintuintlongulong) に暗黙的に変換できます。 また、組み込みの浮動小数点数値型 (floatdoubledecimal) に暗黙的に変換することもできます。 sbytebyteshort 整数型に明示的に変換できます。

他の型から char 型へと暗黙的に変換することはできません。 しかし、整数または浮動小数点の数値型は、char に明示的に変換できます。

C# 言語仕様

詳細については、「C# 言語仕様」の整数型に関するセクションを参照してください。

関連項目