首页 > 代码库 > [C#] C# 6.0 的知识梳理(整理中)
[C#] C# 6.0 的知识梳理(整理中)
C# 6.0 的知识梳理
序
目前最新的版本是 C# 7.0,VS 的最新版本为 Visual Studio 2017 RC,两者都尚未进入正式阶段。C# 6.0 虽说出了一段时间,但是似乎有许多园友对这一块知识并不了解,如拼接字符串的 $ 符号,在此,小人献上拙作一篇《C# 6.0 的知识梳理》,祝大家在新的一年里:年年有今日,岁岁有今朝,月月涨工资,周周中彩票,天天好心情,日日好运道,白天遇财神,夜晚数钞票。
好了,废话不多说,我们先来回顾一下 C# 的版本史。后续我会对带 0 的版本号进行的简写:C# 6.0 -> C# 6。由于新的特性较多,笔者就每种特性只截取其中一部分(一段核心代码)作为示例。
C# 与 VS 的前世今生
nameof
用于获取变量、类型或成员的简单(非限定)字符串名称。可以在错误消息中使用类型或成员的非限定字符串名称,而无需对字符串进行硬编码,这样也方便重构。
用法:这里用来验证字符串的参数是否为空:
private void Func(string msg) { if (string.IsNullOrEmpty(msg)) { throw new ArgumentException(nameof(msg)); } }
简单示例:
1 using System; 2 using SystemTest = System.Text; 3 4 namespace _01_nameof 5 { 6 class Program 7 { 8 private static void Func1(int x) { } 9 private string F<T>() => nameof(T);10 private void Func2(string msg) { }11 12 static void Main(string[] args)13 {14 var program = new Program();15 16 Console.WriteLine(nameof(SystemTest));17 Console.WriteLine(nameof(Func1));18 Console.WriteLine(nameof(Program));19 Console.WriteLine(nameof(program));20 Console.WriteLine(nameof(F));21 22 Console.Read();23 }24 }25 }
【备注】如果需要获取完全限定名,我们可以通过 typeof
表达式和 nameof
结合使用。
整理中...
【博主】反骨仔
【出处】http://www.cnblogs.com/liqingwen/p/6217475.html
[C#] C# 6.0 的知识梳理(整理中)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。