char (referência C#)
A char
palavra-chave type é um alias para o tipo de estrutura .NET System.Char que representa um caractere Unicode UTF-16.
Type | Intervalo | Tamanho | Tipo .NET |
---|---|---|---|
char |
U+0000 a U+FFFF | 16 bits | System.Char |
O valor padrão do char
tipo é \0
, ou seja, U+0000.
O char
tipo suporta operadores de comparação, igualdade, incremento e decréscimo. Além disso, para char
operandos, operadores lógicos aritméticos e bitwise executam uma operação nos códigos de caracteres correspondentes e produzem o int
resultado do tipo.
O tipo de cadeia de caracteres representa o texto como uma sequência de char
valores.
Literais
Você pode especificar um char
valor com:
- um personagem literal.
- uma sequência de escape Unicode, que é
\u
seguida pela representação hexadecimal de quatro símbolos de um código de caracteres. - uma sequência de escape hexadecimal, que é
\x
seguida pela representação hexadecimal de um código de caracteres.
var chars = new[]
{
'j',
'\u006A',
'\x006A',
(char)106,
};
Console.WriteLine(string.Join(" ", chars)); // output: j j j j
Como mostra o exemplo anterior, você também pode converter o valor de um código de caractere no valor correspondente char
.
Nota
No caso de uma sequência de escape Unicode, você deve especificar todos os quatro dígitos hexadecimais. Ou seja, \u006A
é uma sequência de fuga válida, enquanto \u06A
e \u6A
não são válidas.
No caso de uma sequência de escape hexadecimal, você pode omitir os zeros à esquerda. Ou seja, as \x006A
sequências , \x06A
, e \x6A
escape são válidas e correspondem ao mesmo personagem.
Conversões
O char
tipo é implicitamente conversível para os seguintes tipos integrais : ushort
, int
, uint
, long
, e ulong
. Também é implicitamente conversível para os tipos numéricos de ponto flutuante integrados: float
, double
, e decimal
. É explicitamente conversível em sbyte
, byte
e short
tipos integrais.
Não há conversões implícitas de outros tipos para o char
tipo. No entanto, qualquer tipo numérico integral ou de vírgula flutuante é explicitamente convertível em char
.
Especificação da linguagem C#
Para obter mais informações, consulte a seção Tipos integrais da especificação da linguagem C#.