等待任务正在永远或根本不工作

Aym*_*udi 0 .net c# asynchronous task async-await

我肯定错过了什么,

var t2 = new Task<bool>(() =>
         {
             return UserName == "Admin";
         });

bool x = await t2;
Run Code Online (Sandbox Code Playgroud)

bool x = await t2;永远不会结束,x没有收到任何东西(而我确信,用户名等于"管理"),不知道到底是怎么回事,请人能向我解释.

Jon*_*eet 7

你还没有开始这项任务.await将等到它完成,但如果它没有开始它永远不会完成.

也许你想要Task.Run,创造并开始一项任务?(我认为实际上,你的任务做了更有用的事情......)

  • @MrinalKamboj:的确,但是如果你要创建然后立即开始一个任务,你可能首先使用`Task.Run` :) (2认同)
  • @ Jon Skeet同意,正在尝试最小的当前代码更改:) (2认同)