我有以下LINQ查询,我必须分开.Sum进入单独的调用,当我结合它们时,我得到了一个NaN.这不起作用:
var rejectRate = (results.Sum(x => x.TraysRejectedDay / x.TraysProcessedDay)) * 100;
Run Code Online (Sandbox Code Playgroud)
这确实有效:
var traysProcessed = results.Sum(x => x.TraysProcessedDay);
var rejectRate = (results.Sum(x => x.TraysRejectedDay / traysProcessed)) * 100;
Run Code Online (Sandbox Code Playgroud)
这仅仅是LINQ的限制还是我做错了什么?两个字段都是相同的数据类型(double)
这是两个不同的查询.前者划分每TraysRejectedDay通过TraysProcessedDay并返回总和.后者将所有TraysRejectedDay的总和除以TraysProcessedDay并返回总和.
因此,如果TraysProcessedDay例如可以为0,则除以零.也许你想忽略它们:
var rejectRate = (results
.Where(x => x.TraysProcessedDay > 0)
.Sum(x => x.TraysRejectedDay / x.TraysProcessedDay)) * 100;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
97 次 |
| 最近记录: |