C#基礎:委託的簡單使用
阿新 • • 發佈:2018-12-26
委託是一個類,它定義了方法的型別,使得可以將方法當作另一個方法的引數來進行傳遞,這種將方法動態地賦給引數的做法,可以避免在程式中大量使用If-Else(Switch)語句,同時使得程式具有更好的可擴充套件性。
委託的關鍵字delegate;示例程式碼如下:
- delegate double TwoNumber(double a, double b);//定義委託,double型別
- static double Multiply(double a, double b) => a * b;//乘法 浪漫噠表示式
- static double Divide(double a, double b) => a / b;//除法 浪漫噠表示式
- static void Main(string[] args){
- 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)}"); - }