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

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

public const long BillionsAndBillions = 100_000_000_000; 

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

 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 

<==试试我!==>

如果您有兴趣,可以在此讨论何时请求此function。 有些人希望分隔符是空格,但看起来像C#团队使用下划线