c#中的委托是什么,简单示例?
时间: 2024-03-18 20:42:20 浏览: 26
在C#中,委托是一种类型,可以用来封装一个或多个方法,并使其像一个参数一样进行传递。委托可以看作是一个函数指针,它可以指向一个或多个方法,并在需要时调用这些方法。委托通常用于实现事件处理和回调函数等场景。
下面是一个简单的委托示例:
```csharp
public delegate int Calculate(int x, int y);
public class Calculator
{
public int Add(int x, int y) { return x + y; }
public int Subtract(int x, int y) { return x - y; }
}
public class App
{
public static void Main()
{
Calculator calculator = new Calculator();
Calculate add = new Calculate(calculator.Add);
Calculate subtract = new Calculate(calculator.Subtract);
int result1 = add(3, 4); // result1 = 7
int result2 = subtract(5, 2); // result2 = 3
}
}
```
在这个示例中,定义了一个委托类型Calculate,它可以封装两个int类型参数并返回一个int类型的结果。接下来定义了一个Calculator类,该类有两个方法Add和Subtract,它们分别实现了加法和减法运算。然后在App类中创建了一个Calculator对象,以及两个委托实例add和subtract,并分别将它们绑定到Calculator对象的Add和Subtract方法。最后,通过调用这两个委托实例来计算加法和减法的结果。