【发布时间】:2017-12-06 14:20:59
【问题描述】:
我刚刚发现了这个语法:
date1 = date2?.ToString("yyyy-MM-dd") ?? date3;
当然,我第一次看到这样的语法,我不明白。经过调试,我明白是相当于:
if(date2 != null)
date1 = date2.ToString("yyyy-MM-dd");
else
date1 = date3;
我的问题是:为什么要引入这种语法,因为它根本不清晰,而且只节省了 3 行文本?
编辑:我的问题是关于 ?运算符,而不是 ??
【问题讨论】:
-
我猜新语法更容易理解
-
是 C# 6.0 语法
-
这只是需要时间来理解,它会更容易阅读
-
你指的是哪一种语法?
?.运算符或??? -
它只是一个语法糖。让我们这些懒惰的程序员少写几行代码。