O que há de novo no C# 7.0 - Literais binários

09/06/2016 23:11:00 By Felipe Pessoto

Além dos números decimais e hexadecimais, no C# 7.0 é possível escrever usando notação binária:

class BinaryLiteral
{
    public static void Example()
    {
        int myValue = 0b1010;
    }
}

Facilitando muito a criação de Flags Enum:

public enum MyFlagsEnumCSharp60
{
    None = 0,
    Sunday = 1,
    Monday = 2,
    Tuesday = 4,
    Wednesday = 8,
    Thursday = 16,
    Friday = 32,
    Saturday = 64
}

public enum MyFlagsEnum2CSharp60
{
    None = 0,
    Sunday = 1,             // 1
    Monday = 1 << 1,        // 2
    Tuesday = 1 << 2,       // 4
    Wednesday = 1 << 3,     // 8
    Thursday = 1 << 4,      // 16
    Friday = 1 << 5,        // 32
    Saturday = 1 << 6,      // 64
}

public enum MyFlagsEnumCSharp70
{
    None =      0b00000000,
    Sunday =    0b00000001,
    Monday =    0b00000010,
    Tuesday =   0b00000100,
    Wednesday = 0b00001000,
    Thursday =  0b00010000,
    Friday =    0b00100000,
    Saturday =  0b01000000
}

Comments (0)