本文参考Roslyn项目Issue:#206,及Docs:#patterns。
1. C# 7.0 新特性1: 基于Tuple的“多”返回值方法
模式匹配也许能算的上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 }