我只想知道c#中的以下语法是否合法:
decimal price = -someVariable ?? 0M;
基本上,我可以将可以为空的变量设为负数,而不知道它是否为空?
答案 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