9
如果我今天有這樣的代碼使用LINQ to找出總和:你如何添加條件lambda表達式
return (MyArray.Sum(r => r.Trips);
,我想只包括ITMS 其中r.CanDrive ==真。
你可以在一個linke lambda表達式中添加一個條件嗎?你會怎麼做這
如果我今天有這樣的代碼使用LINQ to找出總和:你如何添加條件lambda表達式
return (MyArray.Sum(r => r.Trips);
,我想只包括ITMS 其中r.CanDrive ==真。
你可以在一個linke lambda表達式中添加一個條件嗎?你會怎麼做這
你可以鏈LINQ的兩位在一起,就像這樣:
return MyArray.Where(r => r.CanDrive).Sum(r => r.Trips);
大衛的回答是完全正確的,但另一種方法是使用條件運算符:
return MyArray.Sum(r => r.CanDrive ? r.Trips : 0);
我會親自使用Where
表格,但我想我會提供一個替代方案...
(還有一種方法是創建自己的Sum
方法同時採用了謂詞和投影,但我認爲這是超過頂部。)
什麼是主導括號? – Codesleuth 2010-06-07 11:08:04
@Codesleuth - 胖手指!謝謝... – 2010-06-07 11:19:02
你的撥號棒在帖子:) – MPritchard 2010-06-07 14:11:49