Una sinfonía en C#

Un pequeño aporte a la comunidad de habla hispana.

Novedades de C#7: Literales binarios.

Ya hablamos hace un tiempo de las novedaes de C#7 que vendrán como parte de Visual Studio 2017, siguiendo con lo mismo vamos a ver una simple pero efectiva, los literales binarios.

Literales

Hasta hoy podíamos declarar literales de números enteros por ejemplo, así:

int[] numeros  = { 1, 2, 3, 4, 5, 6 };

Y esto está muy bien, tenemos enteros a la izquiera y a la derecha

Literales binarios

Aquí la novedad, con C#7 podemos declarar este mismo array pero con binarios, algo así:

int[] numeros  = { 0b1, 0b10, 0b11, 0b100, 0b101, 0b110 };

Nótese el prefijo 0b, con eso indicamos que se trata de binarios, si corremos la aplicación vemos que en definitiva tenemos el mismo resultado.

image

En definitiva terminamos declarando enteros.

Separadores

Una última cosa con respecto a los literales (sobre todo los binarios) en ocasiones puden convertirse en algo poco legible, como esto:

int[] numeros  = { 0b1000000000000 };

Bien, digamos que no es tan simple darse cuenta de cuántos ceros hay, por eso tenemos la posibilidad de hacer esto

int[] numeros  = { 0b10_0000_0000_000 };

Que es justo lo mismo, es decir, usamos un guión bajo como separador, de hecho podemos poner todos los que queramos

int[] numeros  = { 0b10_____0000_0000_000 };

Y funciona igual, no solo eso, sino que podemos usarlo en otro tipo de literales

int[] numeros  = { 4_096 };

Interesante, nos leemos.

Loading