您的位置:首页 > 其它

函数的一些心得(二)

2014-03-02 17:09 295 查看
今天看了委托类型(delegate),感觉用法很是神奇,记录下来。

delegate double processDelegate(double param1,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(','); //典型C#用法

  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)); //委托调用所选函数
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: