1. 程式人生 > >C#基礎:委託的簡單使用

C#基礎:委託的簡單使用

        委託是一個類,它定義了方法的型別,使得可以將方法當作另一個方法的引數來進行傳遞,這種將方法動態地賦給引數的做法,可以避免在程式中大量使用If-Else(Switch)語句,同時使得程式具有更好的可擴充套件性。

        委託的關鍵字delegate;示例程式碼如下:

  1.         delegate double TwoNumber(double a, double b);//定義委託,double型別
  2.         static double Multiply(double a, double b) => a * b;//乘法 浪漫噠表示式
  3.         static double Divide(double a, double b) => a / b;//除法   浪漫噠表示式
  4.         static void Main(string[] args){
  5.             TwoNumber two;
                Console.WriteLine("請輸入兩個數");
                string input = Console.ReadLine();
                string[] str = input.Split(' ');//以空格作為分隔符,用陣列儲存
                double a = Convert.ToInt32(str[0]);//第一個數
                double b = Convert.ToInt32(str[1]);//第二個數
                Console.WriteLine("選擇計算方式M(乘法),D(除法)");
                input = Console.ReadLine().ToLower();
                if (input == "m")
                {
                    two = new TwoNumber(Multiply);
                }
                else {
                    two = new TwoNumber(Divide);
                }
                Console.WriteLine($"{two(a,b)}");
  6. }