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# 中的回調可以應用于許多場景,它們提供了一種靈活的方式來處理異步操作、事件處理和自定義排序等任務。