我需要舍入十进制的总和?我做:
group => new {
rounded_sum = group.Sum(f => f.A) == null ? null : (decimal?)Decimal.Round((decimal)group.Sum(f => f.A), 0),
}
Run Code Online (Sandbox Code Playgroud)
这不是很好.也许有一种更清洁的方式?
你能使用空合并运算符吗?我意识到它并没有做同样的事情,但它可能是合适的.
group => new {
rounded_sum = Decimal.Round( group.Sum( f => f.A ) ?? 0M, 0 )
}
Run Code Online (Sandbox Code Playgroud)
另一个替代方案是分两步执行操作,这样可以节省两次sum运算,尽管它甚至更"冗长".
...
group => new {
sum = group.Sum( f => f.A )
})
.Select( g => new {
rounded_sum = sum == null ? null : (decimal?)Decimal.Round( sum.Value, 0 )
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2042 次 |
| 最近记录: |