例如下面這兩個例子:
不使用匿名方法的委託:
using使用匿名方法的委託:system;
using
system.collections.generic;
using
system.linq;
using
system.text;
namespace
delegate
int otherdel(int
param);
public
static
void
main()
", del(20
)); console.writeline(
"", del(10
)); }} }
using兩種結果是一樣的。system;
using
system.collections.generic;
using
system.linq;
using
system.text;
namespace
; console.writeline(
"", del(20
)); console.writeline(
"", del(10
)); }} }
1)宣告委託變數時候作為初始化表示式。
2)組合委託時在賦值語句的右邊。
3)為委託增加事件時在賦值語句的右邊。
delegate (parameters );
關鍵字 引數 語句塊
匿名方法不會宣告返回值型別。但是匿名方法返回值型別必須和委託返回值一樣。
引數:引數數量,型別和修飾符必須和委託一樣。
但是我們可以使圓括號為空,或省略圓括號來簡化匿名方法的引數列表。但是僅在下面兩項都為真的情況下才可以這麼做。
1,委託的引數列表不包含任何out引數的委託。
2,匿名方法不使用任何引數。
例如下面:
using如果委託引數包含params引數,那麼params關鍵字就會被匿名方法的引數列表忽略。如下:system;
using
system.collections.generic;
using
system.linq;
using
system.text;
namespace
; }}
}
delegateint otherdel(int x,params
inty);
otherdel del = delegate(int x,int
y) ;
c 匿名方法用途 C 匿名方法
我們討論了使用委託來引用具有與委託相同簽名的任何方法。換句話說,您可以使用該委託物件呼叫可由委託引用的方法。匿名方法提供了一種將 塊作為委託引數傳遞的技術。匿名方法是沒有名稱的方法,只是主體。您無需在匿名方法中指定返回型別 它是從方法體內的return語句推斷出來的。編寫匿名方法 匿名方法是通過建立...
c 匿名方法用途 C 匿名方法
c 語言 的 c 匿名方法 前面我們學習過,委託可用於引用任何與委託簽名相同的方法。換句話說,可以呼叫可以由委託使用該委託物件引用的方法。匿名方法提供了一種將 塊作為委託引數傳遞的技術。匿名方法是沒有名稱的方法,只有方法體。不需要在匿名方法中指定返回型別 它是從方法體中的return語句來推斷的。編...
C 匿名方法
1,匿名方法 c 為委託提供一種機制,可以為委託定義匿名方法,匿名方法沒有名稱,編譯器會定指定乙個名稱 匿名方法中不能使用跳轉語句跳轉到該匿名方法的外部,也不能跳轉到該方法的內部。也不能在匿名方法外部使用的ref和out引數 2,匿名方法的 拉姆達 表示式 方式定義 c 3.0之後匿名方法可以使用 ...