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
型は、整数型 (ushort
、int
、uint
、long
、ulong
) に暗黙的に変換できます。 また、組み込みの浮動小数点数値型 (float
、double
、decimal
) に暗黙的に変換することもできます。 sbyte
、byte
、short
整数型に明示的に変換できます。
他の型から char
型へと暗黙的に変換することはできません。 しかし、整数または浮動小数点の数値型は、char
に明示的に変換できます。
C# 言語仕様
詳細については、「C# 言語仕様」の整数型に関するセクションを参照してください。
関連項目
.NET