委托与C++、C中的函数指针类似,差别不大。
一、
委托的声明需要使用delegate关键字,与函数的声明非常的类似,委托的声明指定了一个返回类型和一个参数列表。
在定义了委托类型的参数之后就可以使用这个变量调用函数。具体的还是代码比较清晰。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApplication1
{
class Program
{
delegate double processDelegate(double p1, double p2);
static double multiply(double p1, double p2)
{
return p1 * p2;
}
static double div(double p1, double p2)
{
return p1 / p2;
}
static void Main(string[] args)
{
processDelegate process;
Console.WriteLine("请输入两个数据:");
double num1 = Convert.ToDouble(Console.ReadLine());
double num2 = Convert.ToDouble(Console.ReadLine());
if (num1 < 4.0)
{
process = new processDelegate(multiply);
}
else
{
process = new processDelegate(div);
}
Console.WriteLine("这是计算的结果:{0}",process(num1,num2));
Console.ReadKey();
}
}
}