2013-01-10 53 views
3

使用System.Threading.Tasks.Task.WaitAll()我可以看到我應該用這種方法Task.WaitAll() - 無參數

可以看出here使用可用的參數,但在Visual Studio寫作時,我能夠調用該方法不參數都:

Task.WaitAll(); 

,並沒有出現如IDE(丟失參數)語法錯誤, 能否請您解釋一下爲什麼這可能與這個特定的方法是什麼?

+0

它基本上沒有任何操作。 – 2013-01-10 20:42:44

回答

12

該方法的完整定義是

public static void WaitAll(params Task[] tasks) 

params表明,該方法接受可變數量的參數。 0參數也被明確允許。

不用說這種方法調用時沒有效果。

+0

如果IDE顯示警告,那會很好。 – 2013-01-10 20:44:00

+7

@ 0A0D爲什麼?對於'params'的許多實現來說,沒有參數是明智的選擇,例如'Console.WriteLine()'。在這種特殊情況下,它沒有意義(也沒有問題)。 – Servy

+0

乾杯隊友!那會做,謝謝你的回答。 – SwiftHands

3

該方法過載。 One overload是以下形式:

public static void WaitAll(
    params Task[] tasks 
) 

params參數可以採用零個或多個參數。