C# 仅随机完成和无故障之间的区别?

C# 仅随机完成和无故障之间的区别?,c#,android,android-asynctask,task,C#,Android,Android Asynctask,Task,这两个值来自枚举。我有点不确定该用哪一个 我混淆的另一对是非自动完成和仅故障 措辞让我有点困惑,每对中的每一个值似乎都起着同等的作用。我在这里遗漏了什么吗?是的:如果取消了某些内容,它既没有出现故障,也没有运行完成;因此,它将由非自动完成处理,而不是由OnlyOnFaulted处理 因此: OnlyOnFaulted意味着如果先行任务引发了任务本身无法处理的异常,则继续将运行,除非该任务被取消 NotOnRanToCompletion表示如果任务运行到完成状态,则继续将不会运行,也就是说,如果任

这两个值来自枚举。我有点不确定该用哪一个

我混淆的另一对是
非自动完成
仅故障


措辞让我有点困惑,每对中的每一个值似乎都起着同等的作用。我在这里遗漏了什么吗?

是的:如果取消了某些内容,它既没有出现故障,也没有运行完成;因此,它将由
非自动完成
处理,而不是由
OnlyOnFaulted
处理

因此:


OnlyOnFaulted
意味着如果先行任务引发了任务本身无法处理的异常,则继续将运行,除非该任务被取消

NotOnRanToCompletion
表示如果任务运行到完成状态,则继续将不会运行,也就是说,如果任务引发异常,或者如果任务被取消,则继续将不会运行


总之,如果您希望在任务取消或引发异常时继续运行,请使用
notanrantocompletion
。如果您希望它仅在抛出异常时运行,而在取消异常时不运行,请使用
OnlyOnFaulted

。因此,如果您将事件处理程序同时连接到NotOnRanToCompletion和OnlyOnCancelled,那么在取消任务时将调用哪一个?或者同时处理这两个事件真的没有任何意义???因此,如果您将事件处理程序同时附加到NOTNRANTOMPLICATION和ONLYONCANCELED,那么如果任务被取消,将调用哪个事件处理程序?或者同时处理两个事件真的没有任何意义??
NotOnRanToCompletion | NotOnFaulted == OnlyOnCancelled
NotOnCanceled        | NotOnFaulted == OnlyOnRanToCompletion
NotOnRanToCompletion | NotOnCanceld == OnlyOnFaulted