如果语句与c#中的加法内联

时间:2015-06-04 21:07:15

标签: c# c#-4.0

C#不喜欢以下内容。我怎样才能重写它以便它起作用?

Value1 = Value1 + (i.Cost == null || !Utils.IsNumeric(i.Cost)) ? 0 : i.Cost;

4 个答案:

答案 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