C# 6.0 (C# vNext) 新功能之:Numeric Literal Formats
2014-10-14 23:11
411 查看
Numeric Literal Formats = Binary literals and separators
个人解释为 「2 位元(2 进位)实字以及分隔符」
以前可以用的,主要就十进位以及十位进位如下:
2 进位实字怎麽宣告?
而当我们使用 2 进位宣告实字时,那数字一下子就会非常的长,比如:
这时,我们可以加入分隔符 (Separator):
这样子比较容易看出每个数字。
分隔符可以用在其他数字类型实字如下:
最后再看一个例子:
个人解释为 「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 }
相关文章推荐
- C# 6.0 (C# vNext) 新功能之:Auto-Properties with Initializers
- C# 6.0 (C# vNext) 新功能之:Static Using Statements
- C# 6.0 (C# vNext) 新功能之:Declaration Expressions
- C# 6.0 (C# vNext) 新功能之:Exception-Handling Improvements
- C# 6.0 (C# vNext) 新功能之:Expression Bodied Functions and Properties
- C# 6.0 (C# vNext) 的新功能:Expression Bodied Functions and Properties
- C# 6.0 (C# vNext) 新功能之:Primary Constructors 主要的构造函式
- C# 6.0 (C# vNext) 新功能之:Event initializers
- C# 6.0 (C# vNext) 新功能之:Nameof Expressions
- C# 6.0 (C# vNext) 的新功能:Exception-Handling Improvements
- C# 6.0 (C# vNext) 新功能之:Indexed Members and Element Initializers 索引的成員和元素初始化
- C# 6.0 (C# vNext) 新功能之:Null-Conditional Operator
- C# 6.0 (C# vNext) 新功能之:Semicolon operator
- C# 6.0 新功能Top 10
- C# 6.0 的新功能
- C#疑惑篇-literal string concatenation
- 总结在使用VB 6.0和C#编写ActiveX控件的实践 (二)
- Anders谈C# 4.0:新功能和展望
- PDC:Anders谈C# 4.0:新功能和展望
- Anders谈C# 4.0:新功能和展望