我尝试运行此代码,但结果却与预期不符
using System;
using System.Collections.Generic;
using System.Threading.Tasks;
namespace Test
{
public class Program
{
public static void Main(string[] args)
{
var tasks = new List<Task>();
for (int i = 0; i < 100; i++)
{
var task = Task.Run(() =>
{
Console.WriteLine(i);
});
tasks.Add(task);
}
Task.WaitAll(tasks.ToArray());
Console.WriteLine("done");
}
}
}
我希望结果是100个数字0-99的列表,并且没有重复
但是我在https://dotnetfiddle.net/上得到了一个列表,该列表丢失并重复,例如6677899999 ... 99(丢失0-5,重复项)
如果在Visual Studio上运行,我会得到“ 100”的列表
那为什么会这样呢?为什么Visual Studio与https://dotnetfiddle.net/之间有区别?该如何解决?