- Mastering Visual Studio 2017
- Kunal Chowdhury
- 277字
- 2021-07-15 17:26:37
The new digit separators
Digit separator is a new feature in C# 7.0. You can use _ (underscore) inside numeric literals as a digit separator. The purpose of it is none other than improving the readability of the value in code.
You can put a digit separator (_) wherever you want between digits. You can have multiple underscores (____) too. They will have no effect on the value. This is shown in the following code snippet:
var decimalValue1 = 1_50_000; // better than 150000 var decimalValue2 = 25_91_50_000; // better than 259150000 // you can use multiple underscores too var decimalValue3 = 25_91__50___000; // better than 259150000
You can also add digit separators to a binary literal and/or hexadecimal literals:
var binaryValue = 0b1010_1011_1100_1101_1110_1111; var hexadecimalValue = 0xAB_C_0_D_EF_578;
Please note that the following conventions are invalid:
- _1_50_000, as it starts with _
- 1_50_000_ or 1_50_000.25_, as it ends with _
- 5000_._25, as the decimal point can't be associated with _
- _0b1100, 0b_1100, or 0_b_1100, as 0b should be prefixed with a valid binary number
- _0xFEB1, 0x_FEB1, or 0_x_FEB1, as 0x should be prefixed with a valid hexadecimal value
Here is the complete code for you to try:
class Program { static void Main(string[] args) { var decimalValue1 = 1_50_000; // better than 150000 var decimalValue2 = 25_91_50_000; // better than 259150000 // you can use multiple underscores too var decimalValue3 = 25_91__50___000; Console.WriteLine("Decimal Value 1: " + decimalValue1); Console.WriteLine("Decimal Value 2: " + decimalValue2); Console.WriteLine("Decimal Value 3: " + decimalValue3); var binaryValue = 0b1010_1011_1100_1101_1110_1111; var hexadecimalValue = 0xAB_C_0_D_EF_578; Console.WriteLine("Binary Value: " + binaryValue); Console.WriteLine("Hexadecimal Value: " + hexadecimalValue); } }
Here's the output of the preceding code:

推薦閱讀
- Network Automation Cookbook
- Python網絡爬蟲從入門到實踐(第2版)
- Dependency Injection in .NET Core 2.0
- Python王者歸來
- MATLAB定量決策五大類問題
- Python編程與幾何圖形
- BIM概論及Revit精講
- HTML5從入門到精通(第4版)
- Android移動開發案例教程:基于Android Studio開發環境
- Web前端應用開發技術
- Domain-Driven Design in PHP
- 運維前線:一線運維專家的運維方法、技巧與實踐
- Struts 2.x權威指南
- 征服C指針(第2版)
- Sitecore Cookbook for Developers