下划线在C#中的数字文字中意味着什么?

时间:2017-04-18 15:16:33

标签: c#

在下面的代码中,下划线的意义是什么:

public const long BillionsAndBillions = 100_000_000_000;

1 个答案:

答案 0 :(得分:4)

这是C#7.0的新功能,它被称为数字分隔符。目的是提供更好,更容易阅读。在编写源代码中很长且难以阅读的数字时,它非常有用。例如:

long hardToRead = 9000000000000000000; 

// With underscores
long easyToRead = 90000_00000_00000_0000;  

完全取决于程序员在哪里放置下划线。例如,您可能有这样一个奇怪的场景:

var weird = 1_00_0_0_000_0000000_0000;  
public const decimal GoldenRatio = 1.618_033_988_749_894_848_204_586_834_365_638_117_720M;

一些笔记

编译代码后,编译器会删除下划线,因此这只是为了代码可读性。所以输出:

public static void Main()
{
    long easyToRead = 90000_00000_00000_0000;
    Console.WriteLine(easyToRead);
}

将(注意没有下划线):

9000000000000000000

<==Try Me!==>

Here是关于何时感兴趣请求此功能的讨论。有些人希望分隔符为空白空格,但看起来C#团队使用下划线