HTML5技术

一小时学会C# 6 - 敏捷的水(2)

字号+ 作者:H5之家 来源:H5之家 2015-12-30 08:03 我要评论( )

但是 C#6里我们可以实现readonly的自动属性了 public class Person{public int Age { get; } = 100;}八、异常过滤器 Exception Filter static void Main(string[] args){try{throw new ArgumentException(Age);}cat

但是 C#6里我们可以实现readonly的自动属性了

public class Person { public int Age { get; } = 100; } 八、异常过滤器 Exception Filter static void Main(string[] args) { try { throw new ArgumentException("Age"); } catch (ArgumentException argumentException) when( argumentException.Message.Equals("Name")) { throw new ArgumentException("Name Exception"); } catch (ArgumentException argumentException) when( argumentException.Message.Equals("Age")) { throw new Exception("not handle"); } catch (Exception e) { throw; } }

在之前,一种异常只能被Catch一次,现在有了Filter后可以对相同的异常进行过滤,至于有什么用,那就是见仁见智了,我觉得上面的例子,定义两个具体的异常 NameArgumentException 和AgeArgumentException代码更易读。

九、 Index 初始化器

这个主要是用在Dictionary上,至于有什么用,我目前没感觉到有一点用处,谁能知道很好的使用场景,欢迎补充:

var names = new Dictionary<int, string> { [1] = "Jack", [2] = "Alex", [3] = "Eric", [4] = "Jo" }; foreach (var item in names) { Console.WriteLine($"{item.Key} = {item.Value}"); } 十、using 静态类的方法可以使用 static using

这个功能在我看来,同样是很没有用的功能,也为去掉前缀有的时候我们不知道这个是来自哪里的,而且如果有一个同名方法不知道具体用哪个,当然经证实是使用类本身的覆盖,但是容易搞混不是吗?

using System; using static System.Math; namespace CSharp6NewFeatures { class Program { static void Main(string[] args) { Console.WriteLine(Log10(5)+PI); } } } 总结

上面一到八我认为都是比较有用的新特性,后面的几个我觉得用处不大,当然如果找到合适的使用场景应该有用,欢迎大家补充。

最后,祝大家编程愉快。

 

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
  • 一个小时学会MySQL数据库 - 张果

    一个小时学会MySQL数据库 - 张果

    2017-03-09 17:01

  • 三分钟学会用 js + css3 打造酷炫3D相册 - 剽悍一小兔

    三分钟学会用 js + css3 打造酷炫3D相册 - 剽悍一小兔

    2016-09-27 15:36

  • 教你分分钟学会用python爬虫框架Scrapy爬取心目中的女神 - 战神王恒

    教你分分钟学会用python爬虫框架Scrapy爬取心目中的女神 - 战神王恒

    2016-09-01 11:00

  • 高大上必备!D3.js对产品的贡献度剖析 - 优云敏捷运维

    高大上必备!D3.js对产品的贡献度剖析 - 优云敏捷运维

    2016-07-08 13:00

网友点评
e