我最近安装了 VS2012,我正在阅读新的异步修饰符以及如何将其用于异步编程。
现在,我很容易与 System.IO 或 Web 服务调用中的内置框架函数一起使用,但我正在尝试与我自己的函数一起使用。我做了一个小型控制台应用程序,基本上异步任务是一个随机数,将在循环中生成,直到它等于 0,我想同时显示加载消息。这是我所做的代码:
private static void Main(string[] args)
{
var rnd = new Random();
var factory = new TaskFactory();
var task = GetRandomNumber(rnd);
while(!task.IsCompleted){
System.Console.Write("Loading .");
System.Console.Write(".");
System.Console.Write("./n");
}
}
private static async Task GetRandomNumber(Random rnd)
{
await new Task(delegate
{
while (rnd.Next() != 0)
{
}
});
}
很明显,我对如何做到这一点感到非常迷茫,我只是像我一样继续编码,是否可以使用 async/await 模式来实现这种行为?如何?