我只想知道以下语法在 c# 中是否合法:
decimal price = -someVariable ?? 0M;
基本上,我可以将可空变量设为负数,不知道它是否为空吗?
这可能不是因为负号将附加到someVariable
可能为空的位置,但您可以将空合并括在括号中。
decimal price = -(someVariable ?? 0M);
是的,这是合法的,如果someVariable是null,-someVariable也将是null。但为了清楚起见,您可能希望将其重写为以下内容:
decimal price = -(someVariable ?? 0M);
另一个例子
decimal? a = null;
decimal b = 5;
decimal? c = a + b; // c == null