我見過很多類似的例子複製這個例子。他們中的大多數人表示他們正在使用Async CTP。我在Windows 8上使用Visual Studio 11,但不適用。如圖所示,錯誤說TaskEx不存在。我想我錯過了一個參考,但不知道哪一個。
此頁面爲http://users.zoominternet.net/~charleswatson/pic.png。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApplication1
{
class Program
{
static Random rnd = new Random();
static void Main(string[] args)
{
//Do some other heavy duty background task in this thread
StartHotel();
Console.WriteLine("StartHotel called..");
Console.ReadLine();
}
static void StartHotel()
{
Console.WriteLine("Starting Hotel..");
for (int i = 0; i < 10; i++)
{
string name = "Chef" + i;
CookDish(name, "Dish" + i);
Console.WriteLine("Asked {0} to start cooking at {1}", name, DateTime.Now.ToString());
}
}
static async void CookDish(string chefName, string dish)
{
//Induce a random delay
int delay = rnd.Next(1000, 4000);
//Cook is cooking - Task
await TaskEx.Delay(delay);
//Write the result - StuffAfterAwait
Console.WriteLine("Chef {0} Finished at {1}", chefName, DateTime.Now.ToString());
}
}
}
只需右鍵單擊 - >打開。圖片通過css縮小。 – Femaref
@Femaref:啊,完美。謝謝 –
只需點擊示例鏈接 –