委託的N種寫法,你喜歡哪種?

2022-02-06 14:03:17 字數 1701 閱讀 7722

一、委託呼叫方式

1. 最原始版本:

delegate

string plusstringhandle(string x, string

y);

class

program

static

string plusstring(string x, string

y)

}

2. 原始匿名函式版:去掉「plusstring」方法,改為

plusstringhandle phandle = new plusstringhandle(delegate(string x, string

y) );

console.writeline(phandle(

"abc

", "

edf"));

3. 使用lambda(c#3.0+),繼續去掉「plusstring」方法(以下**均不再需要該方法)

plusstringhandle phandle = (string x, string y) =>;

console.writeline(phandle(

"abc

", "

edf"));

還有更甚的寫法(省去引數型別)

plusstringhandle phandle = (x, y) =>;

console.writeline(phandle(

"abc

", "

edf"));

如果只有乙個引數

delegate

void writestringhandle(string

str);

static

void main(string

args)

二、委託宣告方式

1. 原始宣告方式見上述demo

2. 直接使用.net framework定義好的泛型委託 func 與 action ,從而省卻每次都進行的委託宣告。

static

void main(string

args)

是乙個整數

", p), 10

); console.read();

}static

void writeprint(actionaction, t t)

,值為:

", t.gettype(), t);

action(t);

}

3. 再加上個擴充套件方法,就能搞成所謂的「鏈式程式設計」啦。

class

program

}

static

class

extentions

。。。。。。

", source);

return

func(source);

}}

看這個**是不是和我們平時寫的"list.where(p => p.age > 18)"很像呢?沒錯where等方法就是使用類似的方式來實現的。

好了,我總結完了,如有遺漏,還望補上,臣不盡感激。

「Hello world 」的N種寫法

在初學一門程式語言的時候,寫乙個 hello world 程式是最常見的入門方法。通過寫乙個成功的 hello world 可以實踐這門語言最基本的語法特性,還可以帶給自己成就感,真是一舉兩得。c c 語言本身有很多特性,如果能夠將這些技術分解出來變成乙個個的 hello world 並且將這些技術...

「Hello World 」的N種寫法 c c

include include include int main 6.話分兩頭的 hello world 有了c 的類,我們就可以光明正大的在 main 函式執行之前和之後做感興趣的事情了。我們可以宣告乙個全域性的類的例項,這樣,在 main 函式執行之前會呼叫這個類的建構函式,結束之後則會呼叫析構...

js匿名函式的N種寫法

匿名函式沒有實際名字,也沒有指標,怎麼執行滴?其實大家可以看看小括號的意義就應該可以理解。小括號有返回值,也就是小括號內的函式或者表示式的返回值,所以說小括號內的function返回值等於小括號的返回值,不難理解 function 可以將沒有名字的函式執行了把 關於匿名函式寫法,很發散 最常見的用法...