我正在嘗試使用任務並行庫按單元格構建Matrix單元格。任務並行庫ArgumentException
我有下面的代碼,這是否:
List<Campaign> campaigns = GetHomeCampaigns();
Dictionary<int, string> sellers = GetHomeSellers();
int numTasks = campaigns.Count*sellers.Count;
Task<MatrixCell<string>>[] statusTasks = new Task<MatrixCell<string>>[numTasks];
int count = 0;
for(int i = 0; i < campaigns.Count -1;i++)
{
for(int j = 0; j < sellers.Count -1;j++)
{
Func<MatrixCell<string>> getStatus =() => GetStatus(campaigns[i].CampaignID, sellers.ElementAt(j).Key);
statusTasks[count] = Task.Factory.StartNew(getStatus);
count++;
}
}
Task.WaitAll(statusTasks);
什麼,我試圖做的是處理和確定並行每個單元格,然後一旦全部建成,組裝按行矩陣行附加的代碼與本例無關。
我面對現在的問題是以下行
Task.WaitAll(statusTasks)
我正在以下的ArgumentException
The tasks array included at least one null element.
Parameter name: tasks
我檢查了陣列,它顯示了所有項目都存在在statusTasks中。
不知道還有什麼地方看。
感謝,
這意味着數組中有* * null。 – svick
@svick:的確如此。 OP不會迭代所有條目,因此任務數組最後未滿。 – mellamokb