標籤:c#
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace ConsoleApplication1{ //委託: 它把引用儲存為函數的類型; 多用於事件及事件的處理; //委託聲明不帶函數體;使用delegate關鍵字;需要知道一個傳回型別和一個參數列表; 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)); 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.ReadLine();}}}
本文出自 “Ricky's Blog” 部落格,請務必保留此出處http://57388.blog.51cto.com/47388/1651281
15. C# -- 委託