using System;
using System.Threading.Tasks;
class Program
{
static async Task Main(string[] args)
{
Console.WriteLine("Start of the program");
// 调用异步方法并等待其完成
await DoWorkAsync();
Console.WriteLine("End of the program");
}
static async Task DoWorkAsync()
{
Console.WriteLine("Starting work");
// 模拟耗时操作,例如网络请求或文件读取
await Task.Delay(2000); // 模拟2秒的延迟
Console.WriteLine("Work completed");
}
}
async
和 await
关键字:
async
用于标记一个方法为异步方法。在这个例子中,Main
和 DoWorkAsync
方法都被标记为 async
。await
用于等待一个异步操作完成,而不会阻塞当前线程。在 Main
方法中,我们使用 await DoWorkAsync()
来等待 DoWorkAsync
方法完成。Task
和 Task<T>
:
Task
表示一个不返回值的异步操作。Task<T>
表示一个返回类型为 T
的异步操作。在这个例子中,DoWorkAsync
返回的是 Task
,表示它是一个不返回值的异步操作。Task.Delay
:
Task.Delay
是一个模拟耗时操作的方法,它会返回一个 Task
,该任务会在指定的时间后完成。这里我们模拟了2秒的延迟。异步编程的好处:
async
和 await
可以让程序在等待异步操作完成时保持响应,不会阻塞主线程,特别适用于需要处理 I/O 操作(如网络请求、文件读写等)的场景。上一篇:c# readonly
下一篇:c# 两个日期之间的天数
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站