泛型函式,即可以接受任何型別的通用函式(有where約束除外)。例如:呼叫getcachedata,那第二個委託引數就是func,這個函式返回值也是int
呼叫getcachedata,那第二個委託引數就是func,這個函式返回值是string
publicstatic
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...