首页 > 代码库 > [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 的知识梳理(整理中)