我們已經提到過,委託是用於引用與其具有相同標籤的方法。換句話說,您可以使用委託物件呼叫可由委託引用的方法。
匿名方法(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之後匿名方法可以使用 ...