【发布时间】:2017-02-22 11:01:23
【问题描述】:
当我阅读 Task.WaitAll(params Task[] tasks) 上的 MSDN 文档时,它说它会在以下情况下引发 ArgumentException:
tasks 参数包含一个空元素。
-或-
tasks 参数是一个空数组。
但是当我调用Task.WaitAll(new Task[0]); 时,它会毫无例外地继续。
我是否误解了文档,或者这只是一个错误(或过时的信息)?
我知道Task.WhenAll(new Task[0]) 也这样做,当然除了返回一个任务。这个feature was sometimes used to get a completed task,在.NET 4.6 中引入Task.CompletedTask 之前。
我真的很高兴Task.WaitAll() 似乎有这种行为,因此我不必将空数组视为特殊情况,但我仍然想确保我理解正确。
顺便说一句,我正在 4.5.2 上运行我的应用程序。但我刚刚做了一个针对 4.6.1 的新解决方案,它的行为方式相同。
【问题讨论】: