现在的位置: 首页 > 综合 > 正文

使用委托来调用函数

2014年09月05日 ⁄ 综合 ⁄ 共 978字 ⁄ 字号 评论关闭

C#中可以使用委托来调用函数,具体这样实现的好处有待以后慢慢领悟,下面是实现的简单代码,与大家分享

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication7
{
    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.ReadKey();
        }
    }
}

 

抱歉!评论已关闭.