c#基于委托实现一个计算器功能的
时间: 2024-02-19 07:57:29 浏览: 64
以下是一个基于委托实现的简单计算器示例,包含加、减、乘、除四种运算:
```csharp
using System;
namespace Calculator
{
class Program
{
delegate double Calculate(double x, double y);
static void Main(string[] args)
{
Console.WriteLine("请输入第一个数:");
double num1 = double.Parse(Console.ReadLine());
Console.WriteLine("请输入第二个数:");
double num2 = double.Parse(Console.ReadLine());
Console.WriteLine("请选择运算符(+、-、*、/):");
string op = Console.ReadLine();
Calculate calc = null;
switch (op)
{
case "+":
calc = new Calculate(Add);
break;
case "-":
calc = new Calculate(Subtract);
break;
case "*":
calc = new Calculate(Multiply);
break;
case "/":
calc = new Calculate(Divide);
break;
default:
Console.WriteLine("非法运算符!");
break;
}
if (calc != null)
{
double result = calc(num1, num2);
Console.WriteLine("计算结果为:" + result);
}
Console.ReadLine();
}
static double Add(double x, double y)
{
return x + y;
}
static double Subtract(double x, double y)
{
return x - y;
}
static double Multiply(double x, double y)
{
return x * y;
}
static double Divide(double x, double y)
{
if (y == 0)
{
Console.WriteLine("除数不能为0!");
return 0;
}
else
{
return x / y;
}
}
}
}
```
该示例中,定义了一个名为 `Calculate` 的委托类型,它接受两个 `double` 参数并返回一个 `double` 值。在 `Main` 方法中,通过用户输入的运算符选择不同的计算方法,并将其赋值给 `Calculate` 委托类型的变量。最后,通过调用委托变量可以执行相应的计算方法,并输出结果。
阅读全文