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, \x06Ay \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#.

Consulte también