0

我想将一个值与另一个值相除。公式是这样的

if (Job2 =0, 0, Job2/Job1) 我写的代码是:

 double empJob1Count = empYearMonthGroup
     .Where(x => x.Row["Job2"] != DBNull.Value)
     .Sum(x => x.Row.Field<double>("Job2")/ x => x.Row.Field<double>("Job1"));

但是出现错误,运算符'/'不能应用于'object'和'object'类型的操作数。请建议如何使用 linq c# 完成此操作?

4

2 回答 2

1

您已经x在结果选择器中有参数。这是正确的语法:

double empJob1Count = empYearMonthGroup
     .Where(x => x.Row["Job2"] != DBNull.Value)
     .Sum(x => x.Row.Field<double>("Job2") / x.Row.Field<double>("Job1"));
于 2013-04-03T12:59:56.663 回答
0

您可以使用Field支持可为空类型的扩展方法:

double empJob1Count = empYearMonthGroup
    .Where(x => x.Row.Field<double?>("Job2").HasValue)
    .Sum(x => x.Row.Field<double?>("Job2").Value / x.Row.Field<double>("Job1"));

但是,您的代码中的问题是第二个x =>.

于 2013-04-03T13:07:31.843 回答