Back-End

26 set, 2017

C# 7.0: Binary Literals

Publicidade

Versões anteriores do C# possibilitavam a declaração de valores numéricos no formato hexadecimal (recurso conhecido como Hexadecimal Literals) com essas representações sendo precedidas por ox ou 0X, como demonstrado na listagem a seguir:

private const int LETRA_Y_HEX = 0x59; // 59 (hexadecimal) = 79 (decimal)
private const int LETRA_Z_HEX = 0X5A; // 5A (hexadecimal) = 80 (decimal)

O C# 7.0 traz também a possibilidade de declarar valores no padrão binário, funcionalidade esta chamada de Binary Literals. Na próxima listagem há um exemplo de uso dessa opção, com os valores binários sendo antecedidos por 0b ou 0B:

using System;
 
namespace ExemploBinaryLiterals
{
    class Program
    {
        private const int LETRA_Y_BIN = 0b01011001; // 89
        private const int LETRA_Z_BIN = 0B01011010; // 90
 
        static void Main(string[] args)
        {
            Console.WriteLine("Exemplo de uso - Binary Literals");
            Console.WriteLine(quot;Y = {LETRA_Y_BIN}");
            Console.WriteLine(quot;Z = {LETRA_Z_BIN}");
            Console.ReadKey();
        }
    }
}

O resultado da execução deste trecho de código pode ser observado na imagem a seguir:

Referências

New Features in C# 7.0

https://blogs.msdn.microsoft.com/dotnet/2017/03/09/new-features-in-c-7-0/