码迷,mamicode.com
首页 > Windows程序 > 详细

[C#] C# 6.0 的知识梳理(整理中)

时间:2016-12-24 19:26:22      阅读:236      评论:0      收藏:0      [点我收藏+]

标签:image   需要   部分   row   type   margin   using   一段   特性   

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 的知识梳理(整理中)

标签:image   需要   部分   row   type   margin   using   一段   特性   

原文地址:http://www.cnblogs.com/liqingwen/p/6217475.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!