如何对现有任务进行新任务

时间:2017-01-03 13:45:03

标签: c# asp.net asp.net-web-api task console-application

我正在使用数组创建任务。 请见下文:

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

我的问题是如何在我的tasks对象中添加新任务。 这样的事情:

tasks.add(...);

4 个答案:

答案 0 :(得分:2)

您正在使用C#中的Array构造。根据定义,阵列的大小在结构中是固定的。您无法向其添加新元素。为此需要使用像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 :(得分:2)

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

tasks.Add(...)

答案 2 :(得分:1)

  

您可能需要创建列表的任务:

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

然后:

tasks.Add(AnotherTask);

答案 3 :(得分:1)

阵列在构造上有一个固定大小的更好的解决方案是使用列表,但如果你需要返回一个数组,并且你想使用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();