char
型キーワードは、Unicode UTF-16 コード単位 (通常は UTF-16 文字) を表す .NET System.Char構造体型のエイリアスです。
タイプ | 範囲 | サイズ | .NET 型 |
---|---|---|---|
char |
U+0000 から U+FFFF | 16 ビット | System.Char |
char
型の既定値は \0
、つまり U+0000 です。
char
型は、比較演算子、等値演算子、インクリメント演算子、およびデクリメント演算子をサポートします。 さらに、 char
オペランドの 場合、算術 および ビットごとの論理 演算子は、対応するコード ポイントに対して演算を実行し、結果を int
値として生成します。
文字列型は、char
値のシーケンスとしてテキストを表します。
リテラル
char
の値は次のように指定できます。
- 文字リテラル。
- Unicode エスケープ シーケンス。
\u
後に文字コードの 4 シンボル 16 進数表現が続きます。 - 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
、nint
、およびnuint
の整数型に暗黙的に変換できます。 また、組み込みの 浮動小数点 数値型 ( float
、 double
、 decimal
) にも暗黙的に変換できます。
sbyte
、byte
、およびshort
整数型に明示的に変換できます。
他の型から char
型への暗黙的な変換はありません。 ただし、 整数 型または 浮動小数点 型は明示的に char
に変換できます。
C# 言語仕様
詳細については、C# 言語仕様の整数型のセクションを参照してください。
こちらも参照ください
.NET