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