我不知道为什么这两种不同的方式花费几乎相同的时间,或者我以错误的方式使用任务?,这是我的代码:
static void Main(string[] args)
{
var result = new List<string>();
var list = new List<string>();
list.Add(string.Empty);
list.Add(string.Empty);
list.Add(string.Empty);
//1st,use select
result.AddRange(list.Select(ls=>Nothing1000000000));
//2nd,use tasks
result.Clear();
IEnumerable<Task<string>> tasks =
list.Select(uri => Task<string>.Factory.StartNew(()=>Nothing1000000000));
result.AddRange(tasks.Select(task => task.Result));
}
public static string Nothing1000000000()
{
int result = 0;
for (var i = 0; i < 1000000000; i++)
{
result += i;
}
return string.Empty;
}