Ошибка при использование цикла 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);