Ошибка при использование цикла foreach - C#
Формулировка задачи:
Всем доброго времени суток. Есть небольшая проблема с циклом foreach. Смысл ошибки я понимаю, но исправить ее не могу:
Листинг программы
- class StudentGroup{
- public void DeleteElement()
- {
- if (mn.Count > 1)
- {
- System.Console.WriteLine("Список идентификаторов группы:");
- foreach (Student ob in mn)
- System.Console.WriteLine(ob.getId());
- System.Console.WriteLine("Введите идентификатор удаляемого студента:");
- int Id = Convert.ToInt32(Console.ReadLine());
- foreach (Student ob in mn)
- {
- if (Id == ob.getId())
- mn.Remove(ob); // нельзя же удалять объект используемый в цикле foreach или нет?
- }
- }
- else
- System.Console.WriteLine("Группа пуста!");
- }
- private System.Collections.Generic.List<Student> mn;
- }
Решение задачи: «Ошибка при использование цикла foreach»
textual
Листинг программы
- for (int i = mn.Count - 1; i >= 0; i--)
- if (mn[i].getId() == Id)
- mn.RemoveAt(i);
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д