char (referencia de C#)
La palabra clave de tipo char
es un alias para el tipo de estructura de .NET System.Char que representa un carácter Unicode UTF-16.
Tipo | Intervalo | Tamaño | Tipo de .NET |
---|---|---|---|
char |
U+0000 a U+FFFF | 16 bits | System.Char |
El valor predeterminado del tipo char
es \0
, es decir, U+0000.
El tipo char
admite operadores de comparación, igualdad, incremento y decremento. Además, en el caso de los operandos char
, los operadores aritméticos y lógicos bit a bit realizan una operación en los códigos de caracteres correspondientes y producen el resultado del tipo int
.
El tipo string representa el texto como una secuencia de valores char
.
Literales
Puede especificar un valor de char
con:
- un literal de carácter.
- una secuencia de escape Unicode, que es
\u
seguido de la representación hexadecimal de cuatro símbolos de un código de carácter. - una secuencia de escape hexadecimal, que es
\x
seguido de la representación hexadecimal de un código de carácter.
var chars = new[]
{
'j',
'\u006A',
'\x006A',
(char)106,
};
Console.WriteLine(string.Join(" ", chars)); // output: j j j j
Como se muestra en el ejemplo anterior, también puede convertir el valor de un código de carácter en el valor de char
correspondiente.
Nota:
En el caso de una secuencia de escape Unicode, debe especificar los cuatro dígitos hexadecimales. Es decir, \u006A
es una secuencia de escape válida, mientras que \u06A
y \u6A
no son válidas.
En el caso de una secuencia de escape hexadecimal, puede omitir los ceros a la izquierda. Es decir, las secuencias de escape \x006A
, \x06A
y \x6A
son válidas y se corresponden con el mismo carácter.
Conversiones
El tipo char
se puede convertir implícitamente en los tipos enteros siguientes: ushort
, int
, uint
, long
y ulong
. También se puede convertir implícitamente en los tipos numéricos de punto flotante integrados: float
, double
y decimal
. Se puede convertir explícitamente en los tipos enteros sbyte
, byte
y short
.
No hay ninguna conversión implícita de otros tipos al tipo char
. Sin embargo, cualquier tipo numérico entero o de punto flotante es implícitamente convertible a char
.
Especificación del lenguaje C#
Para obtener más información, consulte la sección Tipos enteros de Especificación del lenguaje C#.