標籤:
類似函數,卻沒有語句體。
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace ConsoleApplication3{ class Program { delegate double ProcessDelegate(double param1, double param2); //委託定義 static double Multiply(double param1,double param2) { return param1 * param2; } static double Divide(double param1, double param2) { return param1 / param2; } static void Main(string[] args) { ProcessDelegate process; Console.WriteLine("Enter 2 numbers separated with a comma:"); //輸入兩個數,用逗號隔開. string input = Console.ReadLine(); int commaPos = input.IndexOf(‘,‘); //擷取逗號字元所在的位置 //擷取兩個數 double param1 = Convert.ToDouble(input.Substring(0, commaPos)); double param2 = Convert.ToDouble(input.Substring(commaPos + 1, input.Length - commaPos - 1)); //輸入M代表multiply , D代表divide Console.WriteLine("Enter M to multiply or D to divide:"); input = Console.ReadLine(); if (input == "M") process = new ProcessDelegate(Multiply); else process = new ProcessDelegate(Divide); Console.WriteLine("Result: {0}.",process(param1,param2)); Console.ReadKey(); } }}
C#delegate委託