省一行是一行:在if语句中使用C# 7.0的模式匹配

C# 7.0的模式匹配(Pattern Mathing)不仅可以节省代码,而且可以让代码更流畅(Fluent),今天又在实际开发中体会了一下。

不用模式匹配的代码,需要先获取返回值,然后用if进行判断。

var checkResult = _validateService.CheckEmail(email);
if (!checkResult.Success)
    return checkResult.Message;

使用模式匹配的代码,在if中获取返回值并进行判断,一气呵成。

if(_validateService.CheckEmail(email) is var checkResult && !checkResult.Success)
    return checkResult.Message;