csharp 中的Action
时间: 2023-08-26 09:07:17 浏览: 49
Action 是 C# 中的一种委托类型,它可以用于表示一个没有返回值,不带参数的方法。它可以被用作参数传递给其它方法,或者作为一个事件的处理程序。
Action 委托的语法如下:
```csharp
public delegate void Action();
```
它表示一个没有参数和返回值的方法。如果需要传递参数,可以使用泛型版本的 Action 委托。例如:
```csharp
public delegate void Action<T>(T obj);
```
它表示一个带有一个参数的方法,参数类型为 T,没有返回值。
使用 Action 委托可以简化代码,并提高代码的可读性和可维护性。例如,可以使用 Action 委托来实现一个异步操作的回调方法,如下所示:
```csharp
public static void DownloadFileAsync(string url, Action<byte[]> callback)
{
// 下载文件的异步操作
// ...
// 异步操作完成后调用回调方法
byte[] data = new byte[0];
callback(data);
}
```
此时,可以使用如下代码调用 DownloadFileAsync 方法:
```csharp
DownloadFileAsync("http://example.com/file.txt", data => {
// 处理下载完成后的数据
});
```
可以看到,使用 Action 委托可以使代码更加简洁易懂。