C# 中的回调(Callback)是一种常见的编程模式,它允许一个对象在某个事件发生时被通知。回调可以应用于许多场景,以下是一些常见的例子:
public class ButtonClickHandler
{
public void OnButtonClicked(object sender, EventArgs e)
{
Console.WriteLine("Button clicked!");
}
}
public class Program
{
public static void Main()
{
ButtonClickHandler handler = new ButtonClickHandler();
Button button = new Button();
button.Click += handler.OnButtonClicked;
button.PerformClick();
}
}
Task
类进行异步操作时,可以使用 ContinueWith
方法来指定一个回调方法,该方法将在异步操作完成后执行。public class AsyncOperation
{
public async Task DoAsyncWork()
{
await Task.Delay(1000);
}
}
public class Program
{
public static void Main()
{
AsyncOperation operation = new AsyncOperation();
operation.DoAsyncWork().ContinueWith(t =>
{
Console.WriteLine("Async work completed!");
});
}
}
List<T>.ForEach
方法遍历列表并对每个元素执行操作。public class Program
{
public static void Main()
{
List<int> numbers = new List<int> { 1, 2, 3, 4, 5 };
numbers.ForEach(n => Console.WriteLine(n));
}
}
Array.Sort
或 List<T>.Sort
方法对集合进行排序时,可以使用 Comparison<T>
委托来指定自定义的排序规则。public class Program
{
public static void Main()
{
int[] numbers = { 5, 3, 1, 4, 2 };
Array.Sort(numbers, (x, y) => x.CompareTo(y));
foreach (int number in numbers)
{
Console.WriteLine(number);
}
}
}
总之,C# 中的回调可以应用于许多场景,它们提供了一种灵活的方式来处理异步操作、事件处理和自定义排序等任务。