我可以用C#中的千位分隔符声明常量整数吗?

Mat*_*dge 20 c# constants

眼镜蛇的编程语言有一个有用的功能,您可以使用下划线的数字文本来提高可读性.例如,以下是等效的,但第二行更容易阅读:

x = 1000000
x = 1_000_000  # obviously 1 million
Run Code Online (Sandbox Code Playgroud)

C#有什么相同的东西吗?

Jon*_*eet 20

从C#7开始回答

是的,这在C#7中得到支持.但请注意,没有验证您将下划线放在正确的位置:

// At a glance, this may look like a billion, but we accidentally missed a 0.
int x = 1_00_000_000;
Run Code Online (Sandbox Code Playgroud)

从2011年回答

不,C#中没有类似的东西.你可以这样做:

const int x = 1000 * 1000;
Run Code Online (Sandbox Code Playgroud)

但这就像它得到的一样好.

(请注意,此增强功能也适用于Java 7 ...也许有一天它将在C#中引入.)

  • @SurjitSamra:是的,在这种情况下它无济于事 - 但常数通常是其他值的倍数.(例如"一小时内的毫秒数"等)在这种情况下,为每个常量赋予一个单独的名称以适当地构建它们通常更具可读性. (2认同)

Cod*_*shi 5

是的,你可以做到这一点与C#7.0如图所示这里

public const long BillionsAndBillions = 100_000_000_000;
Run Code Online (Sandbox Code Playgroud)