.NET 4.x Ошибка - Индекс за пределами диапазона - C#
Формулировка задачи:
Здраствуйте!
Помогите пож-та решить проблему.
В Main вызываю метод так:
Получаю ошибку "Индекс за пределами диапазона. Индекс должен быть положительным числом, а его размер не должен превышать размер коллекции."
Я точно знаю, что в List'е 10 элементов и создаю 10 потоков. Почему возникает такая ошибка?
class SomeClass
{
public void SomeMethod(List<string> lst)
{
//вычисления
}
}static void Main()
{
List<string> lst = new List<string>();
//потом добавляю 10 элементов
Task[] task = new Task[10];
for (int i = 0; i < task.Length; i++)
{
task[i] = Task.Factory.StartNew(()=>new SomeClass().SomeMethod(lst[i]));
}
Task.WaitAll(task);
for (int i = 0; i < task.Length; i++)
task[i].Dispose();
}Решение задачи: «.NET 4.x Ошибка - Индекс за пределами диапазона»
textual
Листинг программы
for (int i = 0; i < task.Length; i++)
{
string tempStr = lst[i];
task[i] = Task.Factory.StartNew(()=>new SomeClass().SomeMethod(tempStr));
}