【发布时间】:2019-02-01 23:42:38
【问题描述】:
这是我的 WPF 代码。
public partial class MainWindow : Window
{
delegate Task<int> testasync();
public MainWindow()
{
InitializeComponent();
}
private void Button_Click(object sender, RoutedEventArgs e)
{
testasync atest = new testasync(async () => { var result = await Thread_sleep(); return result; });
System.Console.WriteLine("begin");
System.Console.WriteLine("1");
System.Console.WriteLine(atest().Result);
System.Console.WriteLine("3");
}
async public Task<int> Thread_sleep()
{
await Task.Delay(10);
return 2;
}
}
我希望结果为 1,3,2,但它挂起。但是,当我使用 Thread_sleep 方法打印“2”时,它可以工作。
【问题讨论】: