程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> 關於.NET >> c# Aggregate使用,

c# Aggregate使用,

編輯:關於.NET

c# Aggregate使用,


 直接上代碼:

IEnumerable<int> list = Enumerable.Range(2, 10);
int all = list.Aggregate((sum, index) => sum + index);
View Code

調試, 第一次調用,發現sum和index分別取列表的第1和第2個值:

F5下一步,發現把index加到sum了 (sum += index), 然後index取下一個值, 並累積到sum,重復此步驟直到取完列表中的值:

最後計算結果是65

 

另外2個重載函數:

int all = list.Aggregate(10, (sum, index) => sum + index);
View Code

第2個參數與上一個例子參數一樣,累積列表中值,第1個參數於累積值要應用這個初始值,在這裡相當於用10加65,計算結果75。

 

bool is75 = list.Aggregate(10, (sum, index) => sum + index, res => res == 75);
View Code

第1第2個參數同上,第3個參數是對累積結果做判斷,在這裡判斷累積結果是否等於75,計算結果是true。

從中可以發現,list.Aggregate((sum, index) => sum + index)其實是list.Aggregate(0, (sum, index) => sum + index)的特例,相當於初始值為0而已。

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved