相同lambda中2个值的总和?

Cal*_*ass 0 c# linq lambda

我有以下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)

Tim*_*ter 8

这是两个不同的查询.前者划分每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)