2017-04-18 105 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