在 C# 中实现异步线程的进度报告可以通过以下几种方法:
Progress<int> progress = new Progress<int>();
progress.ProgressChanged += (sender, value) =>
{
// 处理进度更新
};
await SomeAsyncMethod(progress);
IProgress<int> progress = new Progress<int>();
progress.ProgressChanged += (sender, value) =>
{
// 处理进度更新
};
await SomeAsyncMethod(progress);
public event EventHandler<int> ProgressChanged;
public async Task SomeAsyncMethod()
{
for (int i = 0; i < 100; i++)
{
// 执行一些操作
ProgressChanged?.Invoke(this, i);
}
}
// 在调用 SomeAsyncMethod 的地方订阅事件
SomeAsyncMethod.ProgressChanged += (sender, value) =>
{
// 处理进度更新
};
无论哪种方法,都可以在异步线程中报告进度,让调用者能够实时了解任务的执行进度。
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
推荐阅读:C# Promise如何实现进度报告