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