泛型函式Func

2022-09-14 21:36:28 字數 896 閱讀 8970

泛型函式,即可以接受任何型別的通用函式(有where約束除外)。 

例如:呼叫getcachedata,那第二個委託引數就是func,這個函式返回值也是int

呼叫getcachedata,那第二個委託引數就是func,這個函式返回值是string

public

static

intstrtoint(string s)

public

static

void

main(string ar**);

ienumerable

t=s.selectint>(strtoint);

foreach (int i in

t)

}

微軟幫助使用者實現了一些內建的泛型類,泛型委託等,如func,func...,tuple,tuple...,action....僅僅只是方便使用者的使用而已,例如上面的例子,利用func可以使得這個函式getcachedata搜尋接受任意單返回值無引數的委託。所以總體說,只是為了方便開發者,不需要再去定義了而已。

(1).用func的話

public

static

void main(string

args)

;func

f = (x) => int

.parse(x);

ienumerable

t = s.selectint>(f);

foreach (int i in

t)

"hello wor!");

console.readline();

}

5 4 4 寫泛型函式

5.4.4 寫泛型函式 大多數使用泛型型別的函式或方法都是高階的,意味著它們取另乙個函式作為引數值。這是乙個重要的主題,我們會專門用一整章 第 6 章 來討論,但我們已經可以寫乙個泛函式,而不用誤入高階領域。我們將建立乙個函式,它取乙個選項型別,並返回包含的值。如果這個選項型別不包含乙個值,該函式將...

C 泛型約束,泛型函式

class 泛型 sortss new sort 例項化乙個排序類 ss.sortt pr 呼叫排序函式 foreach pression ppr in pr 測試泛型函式 int a 5 console.writeline a a int b 9 console.writeline b b n p...

函式的過載與泛型函式

include iostream using namespace std template 泛型設計 void print elemtype pbegin,elemtype pend 函式的過載 void print int pbegin,int pend void print char pbegi...