Char (Tipo de datos, Visual Basic)

Contiene puntos de código de 16 bits sin signo (2 bytes) cuyo valor oscila entre 0 y 65535. Cada punto de código o código de carácter representa a un carácter Unicode único.

Comentarios

Use el tipo de datos Char cuando necesite contener solo un carácter único y no necesite la sobrecarga de String. En algunos casos, puede usar Char(), una matriz de elementosChar, para contener varios caracteres.

El valor predeterminado de Char es el carácter con un punto de código de 0.

Caracteres Unicode

Los primeros 128 puntos de código (de 0 a 127) de Unicode corresponden a las letras y los símbolos de un teclado estándar de EE. UU. Estos primeros 128 puntos de código son los mismos que los definidos por el juego de caracteres ASCII. Los segundos 128 puntos de código (de 128 a 255) representan caracteres especiales, como letras del alfabeto latino, acentos, símbolos de moneda y fracciones. Unicode usa los puntos de código restantes (de 256 a 65535) para una amplia variedad de símbolos, incluidos caracteres textuales, signos diacríticos y símbolos matemáticos y técnicos de carácter mundial.

Puede usar métodos como IsDigit y IsPunctuation en una variable Char a fin de determinar su clasificación Unicode.

Conversiones de tipos

Visual Basic no realiza la conversión directa entre Char y los tipos numéricos. Puede usar la función Asc o AscW para convertir un valor Char en un Integer que representa a su punto de código. Puede usar la función Chr o ChrW para convertir un valor Integer en un Char que tiene ese punto de código.

Si el modificador de comprobación de tipos (la instrucción Option Strict) está activado, debe anexar el carácter de tipo literal a un literal de cadena de un carácter único para identificarlo como el tipo de datos Char. Esto se ilustra en el siguiente ejemplo: La primera asignación a la variable charVar genera el error del compilador BC30512 porque Option Strict está activado. La segunda se compila correctamente, porque el carácter de tipo literal c identifica el literal como un valor Char.

Option Strict On

Module CharType
    Public Sub Main()
        Dim charVar As Char

        ' This statement generates compiler error BC30512 because Option Strict is On.  
        charVar = "Z"  

        ' The following statement succeeds because it specifies a Char literal.  
        charVar = "Z"c
    End Sub
End Module

Sugerencias de programación

  • Números negativos. Char es un tipo sin signo y no puede representar un valor negativo. En cualquier caso, no debería usar Char para contener valores numéricos.

  • Consideraciones de interoperabilidad. Si interactúa con componentes no escritos para .NET Framework, por ejemplo, objetos de Automation o COM, recuerde que los tipos de caracteres tienen un ancho de datos distinto (8 bits) en otros entornos. Si pasa un argumento de 8 bits a ese tipo de componente, declárelo en el código de Visual Basic como Byte en lugar de como Char.

  • Ampliación. El tipo de datos Char se amplía a String. Esto significa que puede convertir Char en String y no se generará una System.OverflowException.

  • Caracteres de tipo. Al agregar el carácter de tipo literal C a un literal de cadena de carácter único, se convierte forzosamente al tipo de datos Char. Char no tiene ningún carácter de tipo identificador.

  • Tipo de Framework. El tipo correspondiente en .NET Framework es la estructura System.Char.

Consulte también