2017-01-03 8 views
1

Я создаю задачу с массивом. Смотрите ниже, пожалуйста:Как выполнить новую задачу для существующих задач

Task<int>[] tasks = new Task<int>[] 
{ 
clientT1.UpdateCatalogBulkArticlePrices(catalogCode, data.prices), 
clientT1.UpdateCatalogArticleSizesBulk(catalogCode, data.sizes) 
}; 

Мой вопрос заключается в том, чтобы добавить новую задачу в моем tasks объекте. Нечто подобное:

tasks.add(...); 
+0

Я бы рекомендовал использовать «Список >» вместо массива. – juharr

ответ

2
List<Task<int>> tasks = new List<Task<int>> 
{ 
clientT1.UpdateCatalogBulkArticlePrices(catalogCode, data.prices), 
clientT1.UpdateCatalogArticleSizesBulk(catalogCode, data.sizes) 
}; 

tasks.Add(...) 
2

Вы используете массив построить в C#. По определению размер массива фиксируется в конструкции. Вы не можете добавлять к нему новые элементы. Для этой цели вам нужно использовать что-то вроде ArrayList/List.

List<Task<int>> tasks = new List<Task<int>>(); 
tasks.Add(clientT1.UpdateCatalogBulkArticlePrices(catalogCode, data.prices); 
tasks.Add(clientT1.UpdateCatalogArticleSizesBulk(catalogCode, data.sizes)) 

позже.

tasks.Add(anotherTask); 
1

Вы, возможно, потребуется создать Список задач:

var tasks = new List<Task<int>>(); 

А потом:

tasks.Add(AnotherTask); 
1

Массивы имеют фиксированный размер в строительстве a be tter будет использовать список, но если вам нужно вернуть массив, и вы хотите использовать метод add, вы можете попробовать что-то вроде этого.

 var t = new List<Task<int>>(); 
    t.Add(clientT1.UpdateCatalogBulkArticlePrices(catalogCode, data.prices)); 
    t.Add(clientT1.UpdateCatalogArticleSizesBulk(catalogCode, data.sizes)); 
    Task<int>[] tasks = t.ToArray(); 
Смежные вопросы