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(); } }
时间: 2024-10-04 17:25:45