为什么代码不等待 "wait" 中的循环完成?

Why doesn't the code wait for the loop to complete in "wait"?

Thread ThreadWindow = new Thread(async () =>
{
    WindowWPF windowWPF = new WindowWPF();
    windowWPF.Show();
    
    await Task.Run(() =>
    {
        while (true)
        {
            //code
        }
    });
    
    //code works when it shouldn't be available
});

出于某种原因,编译器建议我更改最后一行:}); in }){}; what is this for?

想法是显示加载 window 并并行处理数据,之后 window 应该关闭。

不会,一旦点击await,就会返回一个不完整的Taskawait内的作业会作为future回调返回如果它有点长 运行 工作。

由于您已经 while(true) 使这段代码无限执行,假设您正在尝试执行 call and forget way,如果是这样,则不要使用 await。另外,不要创建 new Thread,而是尝试使用 Task,如下所示

var task = new Task(() => MyLongRunningMethod(),
                    TaskCreationOptions.LongRunning | TaskCreationOptions.PreferFairness);
task.Start();