C# - 使用变量本身来合并运算符

时间:2017-01-24 14:05:06

标签: c# conditional-statements null-coalescing-operator

如果我们检查的变量是我们将分配的变量,如果它不为空,有没有办法减少空合并运算符表达式?

示例:

DateTime? date1 = DateTime.Parse("11/05/1990");
DateTime? date2 = DateTime.Now;
date1 = date1 ?? date2;

例如,类似的东西: date1 = ?? DATE2;

我知道这不是什么大问题,但我很好奇。 :)

谢谢!

3 个答案:

答案 0 :(得分:2)

不,这在C#中不存在。

您可以在https://msdn.microsoft.com/nl-nl/library/6a71f45d.aspx中找到运营商列表。

但是date1 = date1 ?? date2已经不够短了吗?

答案 1 :(得分:2)

没有。如果有的话:

_field ?? (_field = CalculateFieldValue());

在备忘录属性中不会如此常见。

答案 2 :(得分:0)

C# 8.0开始,可以使用空值分配赋值运算符??=

应该是

date1 ??= date2;