Я пытаюсь выполнить следующий код и все время получаю исключение Index out of range при попытке присвоить значения массива списку: -
int[] array = new int[1000000];
for (int i = 0; i < array.Length; i++)
{
array[i] = i;
}
List<int> list = new List<int>();
Parallel.For(0, array.Length, i => list.Add(array[i]));
Я что-то здесь не так делаю? Я понимаю, что процесс неупорядоченный / асинхронный, но почему «i» получает значения, превышающие значение «array.Length»?