gpt4 book ai didi

c# - 为什么新特性 "binary literals"不是以0b开头,而是以0b开头?

转载 作者:可可西里 更新时间:2023-11-01 08:34:39 26 4
gpt4 key购买 nike

下一个 C# 版本计划(2014 年 4 月)具有二进制文字,如您在 Language Features Status of Roslyn project 中所见.

那个页面中的例子是这样的:

0b00000100

所以你可能会这样使用:

var myBynaryLiteral = 0b00000100;

我想了解为什么他们选择使用 0b 作为前缀,而不是像使用 doublefloat 那样在末尾使用字母>、十进制等。

double a = 1d;
float b = 1f;
decimal c = 1m;

最佳答案

整数文字具有两个不同的属性:它们的类型,可以用 LUL 等后缀指定,以及它们的基数(在 documentation 中称为“形式”) ,可以使用 0x 和现在的 0b 等前缀来指定。

指定类型总是通过后缀完成,指定基数总是通过前缀完成,因此保持相同的约定是有意义的。此外,您可以组合两个说明符。

例如:

0b00101010UL

将表示文字 42,存储为无符号长整型,并以基数 2 表示。

关于c# - 为什么新特性 "binary literals"不是以0b开头,而是以0b开头?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23243674/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com