📜  C#7.0 二进制字面量(1)

📅  最后修改于: 2023-12-03 15:30:16.586000             🧑  作者: Mango

C# 7.0 二进制字面量

在 C# 7.0 中,新增了一种表示二进制字面量的语法。我们平常在写程序时使用的数字一般都是十进制的,但在某些情况下需要用到二进制数,以前我们可能会通过转换或者位运算来得到二进制数,但现在可以通过二进制字面量来表示。

语法

二进制字面量使用类似于十进制的表示方法,但是加上了前缀 0b0B。例如:

int b1 = 0b1010; // 十进制的10
byte b2 = 0B00010001; // 十进制的17
优点

使用二进制字面量可以使代码更加易读,尤其在使用位运算时,可以更加清晰地表达我们的意图,而不至于混淆。

示例

下面是一个使用二进制字面量的例子:

[Flags]
enum FileAccess
{
    Read = 0b0001,
    Write = 0b0010,
    ReadWrite = Read | Write,
    Execute = 0b0100,
    Delete = 0b1000
}

class Program
{
    static void Main(string[] args)
    {
        var access = FileAccess.ReadWrite | FileAccess.Execute;
        Console.WriteLine($"Access = {access}");
        Console.ReadKey();
    }
}

输出结果:

Access = Read, Write, Execute
总结

二进制字面量是 C# 7.0 新增的一种语法,用于表示二进制数,使用方法类似于十进制,但需要加上前缀 0b0B。使用二进制字面量可以使代码更加易读,特别是在使用位运算时。