1
class Program
{
static void Main(string[] args)
{
Console.WriteLine("主线程启动");
var result = CallWithAsync();
//GetAwaiter()方法表示获取用于等待此Task<TResult>的等待者
//OnCompleted()方法表示任务完成时执行
result.GetAwaiter().OnCompleted(() =>
{
Console.WriteLine(result.Result);
});
Console.WriteLine("主线程执行完毕");
Console.ReadKey();
}
public static async Task<string> CallWithAsync()
{
var result = await GreetingAsync("周晶");
return result;
}
public static Task<string> GreetingAsync(string name)
{
return Task.Run<string>(() =>
{
return string.Format(name + " 您好!");
});
}
}