下一个 C#版本计划( 2014年4月)具有二进制文字,如Language Features Status of Roslyn project所示。
该页面中的示例如下:
0b00000100
所以你可能会这样使用:
var myBynaryLiteral = 0b00000100;
我想了解为什么他们选择使用0b
作为前缀而不是最后使用字母,就像他们使用double
,float
,decimal
一样上。
double a = 1d;
float b = 1f;
decimal c = 1m;
答案 0 :(得分:26)
整数文字具有两个不同的属性:它们的类型,可以用L
或UL
等后缀指定,以及它们的基数(称为"形式"在{{3 }}),可以使用0x
和现在0b
等前缀指定。
始终通过后缀指定类型,并且始终通过前缀指定基数,因此保持相同的约定是有意义的。此外,您可以组合两个说明符。
例如:
0b00101010UL
表示文字42
,存储为无符号长整数,并以基数2表示。