C 匿名方法

2021-10-06 13:24:14 字數 1422 閱讀 5863

我們已經提到過,委託是用於引用與其具有相同標籤的方法。換句話說,您可以使用委託物件呼叫可由委託引用的方法。

匿名方法(anonymous methods)提供了一種傳遞**塊作為委託引數的技術。匿名方法是沒有名稱只有主體的方法。

在匿名方法中您不需要指定返回型別,它是從方法主體內的 return 語句推斷的。

匿名方法是通過使用delegate關鍵字建立委託例項來宣告的。例如:

delegate

void

numberchanger

(intn);

...numberchanger

nc =

delegate

(intx)

",x);

};

**塊 console.writeline("anonymous method: ", x); 是匿名方法的主體。

委託可以通過匿名方法呼叫,也可以通過命名方法呼叫,即,通過向委託物件傳遞方法引數。

例如:

nc(10

);

下面的例項演示了匿名方法的概念:

using

system

; delegate

void numberchanger

( int n

) ;

", num

) ; }

public

static

void multnum

( int q

) ", num

) ; }

static

void main

( string

[ ] args

) ", x

) ; }

; // 使用匿名方法呼叫委託

nc( 10

) ;

// 使用命名方法例項化委託

nc =  

new numberchanger

(addnum

) ;

// 使用命名方法呼叫委託

nc( 5

) ;

// 使用另乙個命名方法例項化委託

nc =  

new numberchanger

(multnum

) ;

// 使用命名方法呼叫委託

nc( 2

) ;

console

. readkey

( )

; }

} }

當上面的**被編譯和執行時,它會產生下列結果:

anonymous

method:10

named

method:15

named

method

:30

c 匿名方法用途 C 匿名方法

我們討論了使用委託來引用具有與委託相同簽名的任何方法。換句話說,您可以使用該委託物件呼叫可由委託引用的方法。匿名方法提供了一種將 塊作為委託引數傳遞的技術。匿名方法是沒有名稱的方法,只是主體。您無需在匿名方法中指定返回型別 它是從方法體內的return語句推斷出來的。編寫匿名方法 匿名方法是通過建立...

c 匿名方法用途 C 匿名方法

c 語言 的 c 匿名方法 前面我們學習過,委託可用於引用任何與委託簽名相同的方法。換句話說,可以呼叫可以由委託使用該委託物件引用的方法。匿名方法提供了一種將 塊作為委託引數傳遞的技術。匿名方法是沒有名稱的方法,只有方法體。不需要在匿名方法中指定返回型別 它是從方法體中的return語句來推斷的。編...

C 匿名方法

1,匿名方法 c 為委託提供一種機制,可以為委託定義匿名方法,匿名方法沒有名稱,編譯器會定指定乙個名稱 匿名方法中不能使用跳轉語句跳轉到該匿名方法的外部,也不能跳轉到該方法的內部。也不能在匿名方法外部使用的ref和out引數 2,匿名方法的 拉姆達 表示式 方式定義 c 3.0之後匿名方法可以使用 ...