62,072
社区成员
发帖
与我相关
我的任务
分享
var tasks = new Task[Url.Count];
for (int i = 0; i < tasks.Length; i++)
{
tasks[i] = Task.Factory.StartNew(() =>
{
string url = string.Format("{0}{1}/",Url[i], PathLogic.RootDomain);
//这里对url进行httpWebRequest请求操作
});
}
Task.WaitAll(tasks);
var httpclient=new HttpClient();
var Pages=Url.Select(p=>httpclient.GetStringAsync(p));
string[] await Task.WhenAll(Pages.ToArray());
var Url = new List<string>() { "1", "2", "3" };
string domain = "abc.com";
var tasks = new Task[Url.Count];
for (int i = 0; i < tasks.Length; i++)
{
var idx = i;
tasks[i] = Task.Factory.StartNew(() =>
{
string url = string.Format("{0}{1}/", Url[idx], domain);
//这里对url进行httpWebRequest请求操作
Console.WriteLine(url);
});
//tasks[i] = Task.Factory.StartNew((index) =>
//{
// string url = string.Format("{0}{1}/", Url[(int)index], domain);
// //这里对url进行httpWebRequest请求操作
// Console.WriteLine(url);
//}, i);
}
Task.WaitAll(tasks);
这样至少直接是没有问题了,如果你还有问题,可能是你后面的代码问题
for (int i = 0; i < tasks.Length; i++)
{
tasks[i] = Task.Factory.StartNew(() =>
{
string url = string.Format("{0}{1}/",Url[i], PathLogic.RootDomain);
//这里对url进行httpWebRequest请求操作
});
}
//=>
for (int i = 0; i < tasks.Length; i++)
{
int index = i;
tasks[index] = Task.Factory.StartNew(() =>
{
string url = string.Format("{0}{1}/",Url[index], PathLogic.RootDomain);
//这里对url进行httpWebRequest请求操作
});
}