C 匿名方法

2021-08-09 06:12:53 字數 1522 閱讀 5975

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

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

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

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

[csharp]

view plain

copy

delegate

void

numberchanger(

intn);  

...  

numberchanger nc = delegate

(int

x)  

", x);  

};  

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

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

例如:[csharp]

view plain

copy

nc(10);  

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

[csharp]

view plain

copy

using

system;  

delegate

void

numberchanger(

intn);  

namespace

", num);  

}  public

static

void

multnum(

intq)  

", num);  

}  public

static

intgetnum()  

static

void

main(

string

args)  

", x);  

};  

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

nc(10);  

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

nc =  new

numberchanger(addnum);  

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

nc(5);  

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

nc =  new

numberchanger(multnum);  

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

nc(2);  

console.readkey();  

}  }  

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

[csharp]

view plain

copy

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之後匿名方法可以使用 ...