C# 嵌套任务 -> 获取任务结束时间

C# Nested Tasks -> Get time when tasks are over

我想显示我的后台任务完成某些工作所需的时间。

我有:

   Stopwatch sw = new Stopwatch();
        Task.Run(() =>
        {
            sw.Start();
            function();
            sw.Stop();
        }
        ).ContinueWith(t => StatusText =sw.Elapsed.ToString());

函数看起来像这样:

    function()
{
Task.Run({...});
Task.Run({...});
}

现在,由于嵌套任务,我的秒表只显示毫秒值。如何显示我的任务完成函数中所有工作所需的实时时间?

您需要 awaitTask.WaitAll(params Task[] tasks) 在您的 function()

您的代码可能如下所示:

function()
{
    Task.WaitAll(
        Task.Run({...}),
        Task.Run({...})
    );
}