程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> C# 6.0 (C# vNext) 新功能之:Numeric Literal Formats

C# 6.0 (C# vNext) 新功能之:Numeric Literal Formats

編輯:C#入門知識

C# 6.0 (C# vNext) 新功能之:Numeric Literal Formats


Numeric Literal Formats = Binary literals and separators
個人解釋為 「2 位元(2 進位)實字以及分隔符」

以前可以用的,主要就十進位以及十位進位如下:
var num1 = 1234; // 10 進位
var num2 = 0x1234; // 16 進位

2 進位實字怎麽宣告?
var num3 = 0b1010; // 2 進位,代表的 10 進位數字是 10

而當我們使用 2 進位宣告實字時,那數字一下子就會非常的長,比如:
var num10 = 12345;
var num2 = 0b11000000111001;

這時,我們可以加入分隔符 (Separator):
var num2 = 0b11_0000_0011_1001;

這樣子比較容易看出每個數字。

分隔符可以用在其他數字類型實字如下:
var num5 = 1_234_567_890; // 10 進位:表示為 123456789
var num6 = 0xFF_FA_88_BC; // 16 進位:換成 10 進位為 4294609084
var num7 = 0b10_01__01_10; // 2 進位:換成 10 進位為 150

最後再看一個例子:
[Serializable]
[Flags]
[System.Runtime.InteropServices.ComVisible(true)]
public enum FileAttributes
{
  ReadOnly =          0b00_00_00_00_00_00_01, // 0x0001
  Hidden =            0b00_00_00_00_00_00_10, // 0x0002
  System =            0b00_00_00_00_00_01_00, // 0x0004
  Directory =         0b00_00_00_00_00_10_00, // 0x0010
  Archive =           0b00_00_00_00_01_00_00, // 0x0020
  Device =            0b00_00_00_00_10_00_00, // 0x0040
  Normal =            0b00_00_00_01_00_00_00, // 0x0080
  Temporary =         0b00_00_00_10_00_00_00, // 0x0100
  SparseFile =        0b00_00_01_00_00_00_00, // 0x0200
  ReparsePoint =      0b00_00_10_00_00_00_00, // 0x0400
  Compressed =        0b00_01_00_00_00_00_00, // 0x0800
  Offline =           0b00_10_00_00_00_00_00, // 0x1000
  NotContentIndexed = 0b01_00_00_00_00_00_00, // 0x2000
  Encrypted =         0b10_00_00_00_00_00_00  // 0x4000
}


  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved