En C / C # / etc. puede decirle al compilador que un número literal no es lo que parece ser (es decir, en floatlugar de double, en unsigned longlugar de int:
var d = 1.0; // double
var f = 1.0f; // float
var u = 1UL; // unsigned long
etc.
¿Podría alguien señalarme una lista de estos? Estoy buscando específicamente un sufijo para shorto Int16.

Respuestas:
Creo que eso es todo ... no hay especificadores literales para short / ushort / byte / sbyte
fuente
byte b = 42;)somebyte = (byte)(somebool ? 1 : 0);1ly1Lambas serán tratadas como un entero largo, pero ciertamente1Les más legible que1l.De §2.4.4.2 Literales enteros :
Y de §2.4.4.3 Literales reales :
fuente
Si su variable aún no es corta, debe emitirla explícitamente:
fuente
No hay uno para abreviar. Solo úsalo
short s = 1;.fuente
short z1 = (0 == 1 ? 0 : 1);Pero esto no:short y = 1; short z2 = (0 == 1 ? 0 : y);(lo siento, no se permiten saltos de línea en los comentarios)0a que la rama en si se convierte aintantes de la asignación az2. Si usa dosshorts en sus ramas, el resultado nuevamente será ashort. Con el if / else, el compilador no puede saber queintse puede representar comoshort.