Las letras en C# no son más que valores fijos. Estos valores son usados por variables o constantes.
Hay muchos tipos de literales:
- Entero
- Punto flotante
- Carácter
- Cuerda
- Nulo
- Booleana
Literales enteros
Este es un tipo de literal que se refiere a los números enteros. Hay tres subtipos: uno para el decimal , otro para el octal y un tercero para los hexadecimales .
Los números decimales no tienen prefijos.
1int myDecimal =28;
csharp
Los números octales siempre deben comenzar con el prefijo 0 .
1int myOctal =034;
csharp
El número hexadecimal debe comenzar con el prefijo 0X o 0x :
1int myHex =0X1C
csharp
Esta pequeña aplicación muestra cómo se imprimen sus valores.
123456789101112131415161718 usando el Sistema;namespace litrals{classLiterally{staticvoidMain(string[] args){int myDecimal =28;int myOctal =034;int myHex =0X1C; Console.WriteLine($"La variable {nombrede(miDecimal)} tiene valor: {myDecimal}"); Console.WriteLine($"La variable {nombrede(miOctal)} tiene valor: Console.WriteLine($"La variable {nombrede(miHex)} tiene valor: {miHex}"); Console.ReadKey();;}}}
csharp
Tras la ejecución obtenemos la siguiente salida.
123La variable myDecimal tiene valor:28La variable myOctal tiene valor:34La variable myHex tiene valor:28
csharp
Obsérvese cómo la función nameof nos permite referirnos al nombre de la variable en nuestra interpolación de cadenas. Puedes notar que los valores mostrados en los casos de números hexa y octales carecen de los prefijos. Los prefijos le dicen al compilador qué tipo de operaciones se permite que ocurran en esos tipos de números enteros.
Literales de punto flotante
Un literal que tiene una parte entera, un punto decimal y una parte fraccionaria o exponencial se llama literal de punto flotante.
Anotaciones válidas:
123double myFloat =28.3848;double myFloat =28E-5;double myFloat =28f;
csharp
Anotaciones inválidas:
12double myFloat =28E;double myFloat =.e28;
csharp
Por defecto, cada literal de punto flotante es de tipo doble, y no se nos permite asignarlo a flotar.
La siguiente expresión…
1flota miFlota =28.28;
csharp
…nos da una excepción muy habladora.
12El literal de tipo doble no puede ser convertido implícitamente en tipo $0027float$0027; use un sufijo $0027F$0027 para crear un literal de este tipo
bash
Así que, básicamente, si queremos que lo anterior funcione, necesitamos ponerle el sufijo f .
1flota miFlota =28.28f;
csharp
Literales de caracteres
Para los tipos de datos de carácter, tenemos tres opciones para especificar los literales.
- Notación de cita única.
1char c =$0027a$0027;
csharp
- Notación de Unicode. Trabajar con este tipo requiere que antepongas al código el prefijo u. Este es un buen sitio para los caracteres unicode.
1char c =$0027u0306$0027;
csharp
- Secuencias de escape. Normalmente se les antepone el prefijo de «N».
1char c =$0027 $0027;
csharp
Este tema se tratará con más detalle más adelante en esta guía.
Literales de cuerda
Estos tipos de literales se suelen encerrar entre comillas: «» o @»» .
12string myString ="Bienvenido a!";string myOtherString =@"Bienvenido a las citas escritas!";
csharp
Literales nulos
Un literal nulo es simplemente la palabra clave null , que es una referencia al valor null . No significa nada, o vacío, según la lógica o el contexto de la aplicación.
Por ejemplo, podemos inicializar una cadena con este valor nulo de la siguiente manera:
1 cuerda s =nula;
csharp
En este contexto, esta es una cadena vacía.
Literatura Booleana
Estos son los literales más simples. Sólo pueden tener valores verdaderos. Uno es verdadero o falso y el otro es 0 o 1 . El contexto determina la forma en que se evalúan.
12bool myTrue = verdadero;bool myFalse =falso;
csharp
Mejoras en la sintaxis numérica
La versión 7.0 de C# añadió flexibilidad a los literales numéricos, mejorando la legibilidad y la mantenibilidad del código fuente.
Antes de la versión 7.0 de C# los números largos se veían así:
1int myLongNumber =10000000;
csharp
Fue difícil a primera vista identificar este número. Pero ahora hay separadores:
1int myLongNumber =10_000_000;
csharp
Esto no afecta al funcionamiento interno. Es sólo un azúcar sintáctico para mejorar la legibilidad de los literales binarios y los separadores de dígitos.