1. 程式人生 > 實用技巧 >C# 匿名方法

C# 匿名方法

C#匿名方法(Anonymous methods)

委託是用於引用與其具有相同標籤的方法。換句話說,可以使用委託物件呼叫可由委託引用的方法。

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

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

編寫匿名方法的語法

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

delegate void NumberChanger(int n);
...
NumberChanger nc = delegate(int x)
{
    Console.WriteLine(
"Anonymous Method: {0}", x); };

程式碼塊

Console.WriteLine("Anonymous Method: {0}", x); 

是匿名方法的主體。

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

例如:

nc(10);

例項

delegate void Log(string msg);
        public static void run()
        {
            Log log = new Log(say);
            log("Hello World.");
            Log mLog 
= delegate (string msg) { Console.WriteLine(msg); }; mLog("Hi World."); } public static void say(string msg) { Console.WriteLine(msg); }