.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)); }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д