class Program { delegate double ProcessDelegate(double param1, double param2);//定义一个委托processDelegate 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 number separated with a comma:");//输入一个逗号分隔的2个数字: string input = Console.ReadLine();//获取输入的字符赋值给字符型的input int commPos = input.IndexOf(',');//将找到的字符位置赋值给整型的commPos double param1 = Convert.ToDouble(input.Substring(0, commPos));//到逗号的位置停止,将逗号前的值赋给param1 double param2 = Convert.ToDouble(input.Substring(commPos + 1, input.Length - commPos - 1));//将逗号结束后,语句结束前的值赋给param2 Console.WriteLine("Enter M yo multiply or D to Divide:"); input = Console.ReadLine();//获取用户输入m还是d if (input=="M") process=new ProcessDelegate(Multiply);//如果等于m,则调用函数1 else process=new ProcessDelegate(Divide);//否则调用函数2 Console.WriteLine("Reslt:{0}",process(param1,param2)); Console.ReadKey(); } }
C#关于委托
最新推荐文章于 2024-07-10 17:37:23 发布