2017-04-18 56 views
-4

在下面的是下划线的意义代码:下划线在C#中的数字字面意味着什么?

public const long BillionsAndBillions = 100_000_000_000; 
+5

[数字分隔符]的可能重复(http://stackoverflow.com/documentation/c%23/1936/c-sharp-7-0-features/6328/digit-separators#t=201704181522122302883)。 – Romoku

+3

阅读[我可以回答我自己的问题?](https://stackoverflow.com/help/self-answer) – adv12

+1

@SeanStayn你可以绝对回答你自己的问题。如果你发现一个问题和一个解决方案,并且没有现有的问题,那么请问并回答其他人的问题。或者如果您在发布后找到解决方案,请回答。 – juharr

回答

0

这是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#团队以下划线 s。

+9

这是应该去文档它不是在这里欺骗信誉 –

+3

@BRAHIMKamel,是吧?我错过了什么?这对我来说似乎是一个完美的答案。 – adv12

+5

@ adv12他被问到一个“问题”,并立即回答它的代表点。 – Steve