namespace Delegate
{
public delegate double Mydelegate(double x,double y);//注意参数
class myMethod
{
public static double Multiply(double x, double y)//被委托的方法 必须与委托的方法的参数一致
{
return x * y;
}
public static double Add(double x, double y)
{
return x + y;
}
}
class Program
{
static void Main(string[] args)
{
Console.WriteLine("输入两个数字");
double x = Convert.ToDouble(Console.ReadLine());
double y = Convert.ToDouble(Console.ReadLine());
Console.WriteLine("选择A为相加,选择M为相乘");
string s = Console.ReadLine();
Mydelegate md;
if (s.ToUpper()== "A")
{
md = new Mydelegate(myMethod.Add);//相当于把相加的方法 委托给了md
}
else
{
md = new Mydelegate(myMethod.Multiply);//注意,这里的方法不用写()
}
Console.WriteLine(md(x, y));
Console.Read();
}
}
}
本文介绍了一个使用 C# 实现的简单委托示例,通过创建一个名为 Mydelegate 的委托类型,该委托接受两个 double 类型参数并返回一个 double 类型的结果。通过这个例子展示了如何定义委托、实现委托方法以及在程序中根据用户输入调用不同的委托方法。
1823

被折叠的 条评论
为什么被折叠?



