using System;
using System.Threading.Tasks;
class Program
{
static async Task Main(string[] args)
{
// 调用异步方法并等待其完成
string result = await FetchDataAsync();
Console.WriteLine(result);
}
// 定义一个异步方法,返回类型为Task<string>
static async Task<string> FetchDataAsync()
{
// 模拟网络请求或其他耗时操作
Console.WriteLine("开始获取数据...");
await Task.Delay(2000); // 模拟耗时操作,例如网络请求或文件读取
Console.WriteLine("数据获取完成。");
return "这是从服务器获取的数据";
}
}
async
和 await
关键字:async
用于标记一个方法为异步方法,而 await
用于等待异步操作完成而不阻塞主线程。Task
和 Task<T>
:Task
表示一个不返回值的异步操作,而 Task<T>
表示一个返回类型为 T
的异步操作。在这个例子中,FetchDataAsync
返回的是 Task<string>
,表示它将返回一个字符串。Task.Delay
:模拟了一个耗时操作(如网络请求),它会暂停当前异步方法的执行,直到指定的时间过去,但不会阻塞主线程。Main
方法:在 C# 7.1 及以上版本中,Main
方法可以被标记为 async
,从而可以直接使用 await
来等待异步操作的结果。这个示例展示了如何使用 C# 的异步编程模型来处理耗时操作,同时保持应用程序的响应性。
下一篇:c# razor
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站