2 つの異なる方法でほぼ同じ時間がかかる理由がわかりません。または、タスクを間違った方法で使用していますか?ここに私のコードがあります。
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;
}