温馨提示×

c# command能异步执行吗

c#
小樊
114
2024-12-06 06:35:57
栏目: 编程语言

是的,C#中的命令(Command)可以异步执行。在C#中,你可以使用asyncawait关键字来实现异步编程。以下是一个简单的示例,展示了如何使用异步命令:

using System; using System.Threading.Tasks; class Program { static async Task Main(string[] args) { // 创建一个异步命令 var command = new Command(async () => { Console.WriteLine("开始执行异步任务..."); await Task.Delay(3000); // 模拟耗时操作 Console.WriteLine("异步任务完成!"); }); // 运行异步命令 command.Execute(); Console.WriteLine("按任意键继续..."); Console.ReadKey(); } } // 自定义命令类 public class Command { private readonly Func<Task> _action; public Command(Func<Task> action) { _action = action; } public void Execute() { Task.Run(_action); } } 

在这个示例中,我们创建了一个名为Command的自定义类,它接受一个Func<Task>类型的参数。这个参数表示要执行的异步操作。Execute方法使用Task.Run来运行异步操作。

Main方法中,我们创建了一个异步命令,并传入一个匿名方法,该方法使用await Task.Delay(3000)模拟耗时操作。然后我们调用command.Execute()来运行异步命令。程序将在异步任务完成之前继续执行,并在完成后输出提示信息。

0