C#中的函数可以被声明的一个委托所调用。
函数为静态方法,和委托声明的参数返回值要一致。
class Program
{
delegate float MathOperationDelegate(float x,float y);
static float Add(float x,float y)
{
return x+y;
}
static float Sub(float x,float y)
{
return x-y;
}
static float Multi(float x,float y)
{
return x*y;
}
static float Div(float x,float y)
{
if(y==0) return 9999;
return x/y;
}
static void Main(string[] args)
{
MathOperationDelegate mod;
Console.WriteLine("请输入第一个数");
float x=float.Parse(Console.ReadLine());
Console.WriteLine("请输入第二个数");
float y = float.Parse(Console.ReadLine());
Console.WriteLine("请输入一个操作运算 + - * /");
char op = char.Parse(Console.ReadLine());
switch (op)
{
case '+':
mod = new MathOperationDelegate(Add);
break;
case'-':
mod = new MathOperationDelegate(Sub);
break;
case '*':
mod = new MathOperationDelegate(Multi);
break;
case '/':
mod = new MathOperationDelegate(Div);
break;
default: return ;
}
float rs = mod(x,y);
Console.WriteLine("结果是:{0}",rs);
Console.ReadKey();
}
}