TOC

This article has been localized into Spanish by the community.

Tipos de datos.:

El tipo Char.

El tipo de datos System.Char se usa para contener un único carácter unicode. C # tiene un alias para ello, llamado char , que puede usar al declarar sus variables char:

char ch;

Y, por supuesto, puede asignarle inmediatamente un valor, si así lo desea. En C #, un carácter está rodeado por un conjunto de comillas simples:

char ch = 'H';

Dado que una cadena (que discutiremos en el próximo capítulo) es básicamente solo un rango de caracteres, .NET en realidad usa una lista de caracteres para representar una cadena. Eso también significa que puede extraer un único carácter de una cadena o iterar sobre una cadena y obtener cada carácter como un tipo de datos de carácter:

string helloWorld = "Hello, world!";
foreach(char c in helloWorld)
{
    Console.WriteLine(c);
}

Debajo del envoltorio, un carácter no es mas qeu un valor numérico, donde cada caracter tiene un número específico en el "alfabeto" de Unicode. Al momento de escribir, hay más de 130.000 different Unicode characters, que van desde el alfabeto latino / occidental hasta los guiones históricos. Por lo tanto, en C #, puede pasar fácilmente de un tipo de datos char a su representación numérica, como lo ilustra esta versión ligeramente extendida del ejemplo anterior:

string helloWorld = "Hello, world!";
foreach(char c in helloWorld)
{
    Console.WriteLine(c + ": " + (int)c);
}

Simplemente generará el carácter, seguido de la representación numérica, simplemente convirtiendo el carácter en un entero. Esto también significa que puede ir al revés con la misma facilidad: de un número a un char. ¿Pero por qué harías eso? Bueno, hay muchos caracteres que no están disponibles directamente en la mayoría de los teclados, p.e. El carácter de copyright (©). En su lugar, puede usar una Unicode lookup table, encontrar la versión numérica del char que necesita y luego convertirlo en un char:

char ch = (char)169;
Console.WriteLine(ch);

Métodos de ayuda de char.

La clase Char tiene algunos métodos de ayuda realmente geniales, que pueden ayudarlo a determinar el tipo de char con el que está tratando actualmente. Esto es muy útil en muchas situaciones, p.e. Ej. al validar la entrada. Aquí hay un ejemplo:

Console.WriteLine("Enter a single number:");
char ch = Console.ReadKey(true).KeyChar;
if (Char.IsDigit(ch))
    Console.WriteLine("Thank you!");
else
    Console.WriteLine("Wrong - please try again!");

Simplemente leo la primera tecla presionada por el usuario y luego uso el método Char.IsDigit () para ver si es un número o no. Y hay muchos métodos como este, para verificar el tipo de char. Podemos usar esto para hacer una validación de cadena muy simple:

Console.WriteLine("Write your name:");
string name = Console.ReadLine();  
bool isValid = true;  
for(int i = 0; i < name.Length; i++)  
{  
    char ch = name[i];  
    if((i == 0) && ((!Char.IsLetter(ch)) || (!Char.IsUpper(ch))))  
    {  
Console.WriteLine("The first character has to be an uppercase letter!");  
isValid = false;  
break;  
    }  
    if(Char.IsDigit(ch))  
    {  
Console.WriteLine("No digits allowed!");  
isValid = false;  
break;  
    }  
}  
if (isValid)  
    Console.WriteLine("Hello, " + name);

Simplemente recorremos el nombre ingresado por el usuario y usamos varias versiones de los métodos Is * para verificar que la entrada coincida con nuestros requisitos simples. Y hay varios otros métodos útiles, como el método Char.IsLetterOrDigit() method. For a full list, have a look at the documentation.

Resumen.

Se utiliza un tipo de datos char (alias para System.Char) para representar un solo carácter Unicode. Para representar más de un carácter, utiliza una cadena, que básicamente es solo una lista de caracteres. En el próximo artículo, discutiremos las cadenas.


This article has been fully translated into the following languages: Is your preferred language not on the list? Click here to help us translate this article into your language!