如何在带有参数的for循环c#中使用相同的异步方法

时间:2019-07-08 19:34:00

标签: c# async-await

我是使用异步方法的新手,我想使用一个异步方法,该方法在循环中被多次调用,该方法接收了一些参数,其中一个是从列表中获取的,但它不起作用,索引位置[i]超出数组限制,请帮忙(对不起我的英语不好)

    List<string> ListJsonNames..
    List<string> ListJson..

     public async Task<DataSet> Wex(string Query, string broker_Pt, string hoja){
    //some proccess here...
    }

    List<Task<DataSet>> listtask=new List<Task<DataSet>>();


    for (int i = 0; i < ListaJsonNames.Count; i++)
    {
      Task<DataSet> tbt;
      DataSet ds = new DataSet();

      if (ListaJsonNames[i] == "something1")
      {
         var list = ListaJsonNames[i];
         tbt = Task.Run(() => Wex(JauxDirecciones, corredor, list));                          
         listtask.Add(tbt);

      }
      else if (ListaJsonNames[i] == "something2")
      {
         var list = ListaJsonNames[i];
         tbt = Task.Run(() => Wex(JauxDireccionesDineroValores, corredor, list));                          
         listtask.Add(tbt);
      }                            
      else
      {
         var list = ListaJsonNames[i];
         tbt = Task.Run(() => Wex(ListaJson[i], corredor, list));                          
         listtask.Add(tbt);
      }
    }

我需要同时执行所有列表任务,并等待在循环结束时完成它们

0 个答案:

没有答案