如果我今天有这个代码使用LINQ查找总和:
return (MyArray.Sum(r => r.Trips);
Run Code Online (Sandbox Code Playgroud)
我想只包括r.CanDrive == true的itms.
你可以在单个linke lambda表达式中添加一个条件吗?你会怎么做
Dav*_*d M 16
您可以将两个LINQ链接在一起,如下所示:
return MyArray.Where(r => r.CanDrive).Sum(r => r.Trips);
Run Code Online (Sandbox Code Playgroud)
Jon*_*eet 10
大卫的答案是完全正确的,但另一种选择可能是使用条件运算符:
return MyArray.Sum(r => r.CanDrive ? r.Trips : 0);
Run Code Online (Sandbox Code Playgroud)
我会亲自使用 Where表格,但我想我会提出一个替代方案......
(另一个替代方案是创建自己的Sum方法,既采用谓词和投影,但我认为这是超过顶部.)
| 归档时间: |
|
| 查看次数: |
3148 次 |
| 最近记录: |