📅  最后修改于: 2023-12-03 15:27:04.080000             🧑  作者: Mango
在 C# 中,委托数组可以存储多个委托,并以类似数组的方式进行调用。这在需要同时处理多个事件时非常方便,例如在 UI 中处理多个按钮的点击事件。
下面是一个演示委托数组的示例程序:
using System;
public class Program
{
public delegate void MyDelegate(int num);
public static void Main()
{
MyDelegate[] delegatesArray = new MyDelegate[3];
delegatesArray[0] = new MyDelegate(DelegateMethod1);
delegatesArray[1] = new MyDelegate(DelegateMethod2);
delegatesArray[2] = new MyDelegate(DelegateMethod3);
for (int i = 0; i < delegatesArray.Length; i++)
{
delegatesArray[i](i + 1);
}
}
public static void DelegateMethod1(int num)
{
Console.WriteLine("Delegate Method 1: " + num);
}
public static void DelegateMethod2(int num)
{
Console.WriteLine("Delegate Method 2: " + num);
}
public static void DelegateMethod3(int num)
{
Console.WriteLine("Delegate Method 3: " + num);
}
}
在该程序中,我们定义了一个名为 MyDelegate
的委托类型,并在 Main
方法中创建一个长度为 3 的委托数组 delegatesArray
。我们为该数组的每个元素分别赋值了 3 个不同的委托方法 DelegateMethod1
、DelegateMethod2
和 DelegateMethod3
。
接着,在 for
循环中,我们依次调用了 delegatesArray
数组中的每个委托,并将从 1 开始的整数值作为参数传入。由于每个委托都被赋值了不同的方法,因此输出结果会依次显示这三个委托的执行结果。
输出结果:
Delegate Method 1: 1
Delegate Method 2: 2
Delegate Method 3: 3
这个示例程序演示了如何使用委托数组来同时调用多个方法。当需要处理多个事件时,我们只需要将这些事件对应的委托方法存储在一个数组中,并在需要执行时遍历这个数组即可。