System.Linq.Enumerable類為我們提供了許多擴展方法,一般實現了IEnumerable<T>接口的類型都能被擴展,比如Enumerable類中定義了OrderBy方法,該方法用來根據某個鍵值對目標值序列排序,那麼int[] 類型就能擁有OrderBy這個方法了。
其中OrderBy方法有兩個參數,一個為要擴展類型的對象:this IEnumerable<TSource> source;一個就是返回排序鍵值的委托:Func<TSource, TKey> keySelector。其中Func是一個TSource類型參數,返回TKey類型值的委托,需要說的是,該參數有多種寫法:1、
1、直接用Lambda表達式:
1 int[] sets={1,3,6,4,3,8,7};
2、用匿名方法:
1 int[] sets={1,3,6,4,3,8,7};
3、新建委托:
1 int key(int a)
任何需要新建委托(new MyDelegate(……))的地方,一般都能用匿名方法(delegate(參數){……}),也一般能用lambda表達式((參數)=>{函數體})。