我可以使可变的可变变量为负数吗?

时间:2013-10-11 23:58:28

标签: c#

我只想知道c#中的以下语法是否合法:

decimal price = -someVariable ?? 0M;

基本上,我可以将可以为空的变量设为负数,而不知道它是否为空?

2 个答案:

答案 0 :(得分:3)

这可能不是因为负号会附加到someVariable,可能是null,你可以将空合并包装在括号中。

decimal price = -(someVariable ?? 0M);

答案 1 :(得分:2)

是的,这是合法的,如果 someVariable null -someVariable 也将 null 。但为了清楚起见,您可能希望将其重写为:

decimal price = -(someVariable ?? 0M);

另一个例子

decimal? a = null;
decimal b = 5;
decimal? c = a + b; // c == null