本文参考Roslyn项目Issue:#206,及Docs:#patterns

  1. C# 7.0 新特性1: 基于Tuple的“多”返回值方法

  2. C# 7.0 新特性2: 本地方法

  3. C# 7.0 新特性3: 模式匹配

  4. C# 7.0 新特性4: 返回引用

 

模式匹配也许能算的上C#本次更新最重量级的升级,也是最受关注的特性(也许没有之一),通过模式匹配,我们可以简化大量的条件代码。

 

Switch语句

大家也许遇到过这样的情景,假设你的代码中,有一个Nullable<int>的值,需要对其在正整数非正整数Null三种情况下分别作不同的逻辑处理。大多数童鞋直接想到是类似于下面的逻辑:

1 void Foo(int? num)
2 {
3     if (!num.HasValue)
4      /* null logic */
5     else if (num.Value > 0)
6      /* positive int logic */
7     else
8      /* negative int & zero logic */
9 }
View Code

相关文章: