在下面的代码中,下划线的意义是什么:
public const long BillionsAndBillions = 100_000_000_000;
public const long BillionsAndBillions = 100_000_000_000;
这是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
如果你感兴趣,这里有一个关于这个功能的讨论。一些人希望分隔符是空格,但看起来 C# 团队选择了下划线。