0

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

decimal price = -someVariable ?? 0M;

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

4

2 回答 2

3

这可能不是因为负号将附加到someVariable可能为空的位置,但您可以将空合并括在括号中。

decimal price = -(someVariable ?? 0M);
于 2013-10-12T00:03:17.407 回答
2

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

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

另一个例子

decimal? a = null;
decimal b = 5;
decimal? c = a + b; // c == null
于 2013-10-12T00:08:00.023 回答