gpt4 book ai didi

c# - 等待的任务能否在 IsCompleted 中返回 false

转载 作者:行者123 更新时间:2023-12-04 16:35:56 24 4
gpt4 key购买 nike

我找到了这段代码:

Task task = DoSomethingAsync( someObject );
await task.ConfigureAwait( false );
if ( task.IsCompleted ){ ... }

我想知道我是否可以安全地替换它

await DoSomethingAsync( someObject ).ConfigureAwait( false );

并删除 if 子句。

我的问题:当等待的任务返回时,task.IsCompleted 是否可以为 false?

documentation of IsCompleted 告诉我们:

true if the task has completed (that is, the task is in one of the three final states: RanToCompletion, Faulted, or Canceled); otherwise, false.

我查找了可能的 states但是当等待的任务返回时,我仍然不清楚哪种状态是可能的。

请帮我解释一下这个问题。提前致谢。

最佳答案

Docs: await operator (C# reference)

The await operator suspends evaluation of the enclosing async method until the asynchronous operation represented by its operand completes.

任务之后 taskInstance = ...; await taskInstance;taskInstance.IsCompleted 将始终为真。

关于c# - 等待的任务能否在 IsCompleted 中返回 false,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69897455/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com