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 usarChar
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 comoChar
.Ampliación. El tipo de datos
Char
se amplía aString
. Esto significa que puede convertirChar
enString
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 datosChar
.Char
no tiene ningún carácter de tipo identificador.Tipo de Framework. El tipo correspondiente en .NET Framework es la estructura System.Char.