當我在閱讀Task.WaitAll(params Task[] tasks)
MSDN文檔它說當它引發ArgumentException:的ArgumentException不是扔在Task.WaitAll(新任務[0])
的任務參數包含null元素。
- 或 -
的任務參數爲空數組。
但是當我打電話給Task.WaitAll(new Task[0]);
它傳遞沒有任何例外。
我誤解了文檔,或者這只是一個錯誤(或過時的信息)?
我明白Task.WhenAll(new Task[0])
也是這樣,除了返回一個任務。這個feature was sometimes used to get a completed task,之前Task.CompletedTask
是在.NET 4.6中引入的。
我真的很高興Task.WaitAll()
似乎表現這樣,所以我不必把一個空數組作爲一個特例,但我仍然想確保我理解它是正確的。
順便說一下,我在4.5.2上運行我的應用程序。但是我只是針對4.6.1制定了一個新的解決方案,它的行爲方式也是一樣的。
[VS 10](https://msdn.microsoft.com/en-us/library/dd270695(V之間當然改變的文檔= vs.100).aspx)和[VS 11](https://msdn.microsoft.com/en-us/library/dd270695(v = vs.110).aspx) - 特別是它增加了'tasks參數是一個空陣列文本 - 有趣。我的錢是文檔錯誤... –