委托

委托

  • 理解:委托就是將一個方法當作參數(shù)傳遞給另一個方法。
  • 關(guān)鍵字有返回值類型,和參數(shù)類型,委托只可以給返回值類型和參數(shù)類型一樣的方法委托。
    namespace 委托
    {
    //聲明了一個委托
    public delegate int GetMax(string name, int age);
    class Program
    {
    static void Main(string[] args)
    {
    GetMax get = new GetMax(GetMax2);//實例化這個委托,將GetMax這個方法傳給委托。
    get("這個參數(shù)和GetMax一樣", 20);
    Console.ReadKey();
    //這樣就完成了一個方法的委托。
    }
    //聲明了一個靜態(tài)方法,返回值類型和參數(shù)類型不一樣,所以不能將這個方法傳給委托
    static void GetMax1()
    {
    Console.WriteLine("調(diào)用不到");
    }
    //這個方法的返回值類型和參數(shù)類型和聲明的委托一樣,可以將這個方法傳給委托。
    static int GetMax2(string name,int age)
    {
    Console.WriteLine("可以調(diào)用這個方法");
    return 0;
    }
    }
    }

1、Action簡介:

C#中與預(yù)定義了一個委托類型Action
它默認可以指向一個沒有返回值,沒有參數(shù)的方法。

  • Action的使用
    static void printString()
    {
    Console.WriteLine("Hello World");
    }
    static void Main(String[] args)
    {
    Action a = printString;
    a();
    // 輸出結(jié)果 Hello World
    }
    2.Func委托
    1.簡介
    Func 也是C#預(yù)定義的委托, 且可以指向帶有一個返回值的方法,傳遞0-16個參數(shù)。
    與Action區(qū)別:Action 不能指向有返回值的方法 , 不能有返回值 。Func 可以指向有一個返回值的方法, 且必須有返回值。
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容