Enumerable類成員函式的引數的幾種寫法

2021-09-05 23:20:24 字數 953 閱讀 5652

system.linq.enumerable類為我們提供了許多擴充套件方法,一般實現了ienumerable介面的型別都能被擴充套件,比如enumerable類中定義了orderby方法,該方法用來根據某個鍵值對目標值序列排序,那麼int 型別就能擁有orderby這個方法了。

其中orderby方法有兩個引數,乙個為要擴充套件型別的物件:this ienumerablesource;乙個就是返回排序鍵值的委託:funckeyselector。其中func是乙個tsource型別引數,返回tkey型別值的委託,需要說的是,該引數有多種寫法:1、

1、直接用lambda表示式:

1int

sets=;

2var subset

=sets.orderby((

inta)

=>);3

foreach

(var temp 

insubset)4

2、用匿名方法:

1int

sets=;

2var subset

=sets.orderby(

delegate

(int

a));

3foreach

(var temp 

insubset)4

3、新建委託:

1int

key(

inta)25

6int

sets=;

7var subset

=sets.orderby(

newfunc

<

int,

int>

(key));

8foreach

(var temp 

insubset)9

任何需要新建委託(new  mydelegate(……))的地方,一般都能用匿名方法(delegate(引數)),也一般能用lambda表示式((引數)=>)。

Enumerable類成員函式的引數的幾種寫法

system.linq.enumerable類為我們提供了許多擴充套件方法,一般實現了ienumerable介面的型別都能被擴充套件,比如enumerable類中定義了orderby方法,該方法用來根據某個鍵值對目標值序列排序,那麼int 型別就能擁有orderby這個方法了。其中orderby方法...

Enumerable類成員函式的引數的幾種寫法

system.linq.enumerable類為我們提供了許多擴充套件方法,一般實現了ienumerable介面的型別都能被擴充套件,比如enumerable類中定義了orderby方法,該方法用來根據某個鍵值對目標值序列排序,那麼int 型別就能擁有orderby這個方法了。其中orderby方法...

類靜態成員和類靜態成員函式

當將類的某個資料成員宣告為static時,該靜態資料成員只能被定義一次,而且要被同類的所有物件共享。各個物件都擁有類中每乙個普通資料成員的副本,但靜態資料成員只有乙個例項存在,與定義了多少類物件無關。靜態方法就是與該類相關的,是類的一種行為,而不是與該類的例項物件相關。靜態資料成員的用途之一是統計有...