C#不喜欢以下内容。我怎样才能重写它以便它起作用?
Value1 = Value1 + (i.Cost == null || !Utils.IsNumeric(i.Cost)) ? 0 : i.Cost;
答案 0 :(得分:6)
试试这个
Value1 += (i.Cost == null || !Utils.IsNumeric(i.Cost)) ? 0 : i.Cost;
答案 1 :(得分:5)
您的括号不匹配。代码应如下所示:
Value1 = Value1 + (i.Cost == null || !Utils.IsNumeric(i.Cost) ? 0 : i.Cost);
或可能
Value1 = Value1 + ((i.Cost == null || !Utils.IsNumeric(i.Cost)) ? 0 : i.Cost);
我个人会重构这段代码以提高可读性,但这是另一天的争论。
答案 2 :(得分:1)
看起来你很难想要聪明。
if(i.Cost != null && Utils.IsNumeric(i.Cost)) Value1 += i.Cost;
答案 3 :(得分:0)
看起来Value1是数字和i.Cost也是如此,如果可能的话你试图添加i.Cost,因为你将添加i.Cost而不进行任何转换(如果它是数字的。)
Value1 += i.Cost ?? 0