我想将一个值与另一个值分开。公式就是这样
如果(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#?
完成此操作答案 0 :(得分:1)
结果选择器中已有x
参数。这是正确的语法:
double empJob1Count = empYearMonthGroup
.Where(x => x.Row["Job2"] != DBNull.Value)
.Sum(x => x.Row.Field<double>("Job2") / x.Row.Field<double>("Job1"));
答案 1 :(得分: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 =>
。