12
我正在學習LINQ,並且有一個非常簡單的問題,我認爲這將有助於我更好地理解該技術。我怎樣才能找到一個int數組的產品?使用LINQ計算產品
例如,什麼是LINQ的方式來做到:
int[] vals = { 1, 3, 5 };
return vals[0] * vals[1] * vals[2];
我正在學習LINQ,並且有一個非常簡單的問題,我認爲這將有助於我更好地理解該技術。我怎樣才能找到一個int數組的產品?使用LINQ計算產品
例如,什麼是LINQ的方式來做到:
int[] vals = { 1, 3, 5 };
return vals[0] * vals[1] * vals[2];
這會工作:
var product = vals.Aggregate(1, (acc, val) => acc * val);
你開始與1
種子,然後調用該函數的每個您的值有兩個參數,acc
是當前累計值,val
是數組中的值;該函數將當前累加值乘以數組中的值,並將該表達式的結果作爲acc
傳遞給下一個函數。即您提供的陣列的函數調用鏈將爲:
(1, 1) => 1
(1, 3) => 3
(3, 5) => 15
+1。建議使用int而不是var。 – 2008-10-31 14:17:51