Ошибка при использование цикла foreach - C#

Узнай цену своей работы

Формулировка задачи:

Всем доброго времени суток. Есть небольшая проблема с циклом foreach. Смысл ошибки я понимаю, но исправить ее не могу:
Листинг программы
  1. class StudentGroup{
  2. public void DeleteElement()
  3. {
  4. if (mn.Count > 1)
  5. {
  6. System.Console.WriteLine("Список идентификаторов группы:");
  7. foreach (Student ob in mn)
  8. System.Console.WriteLine(ob.getId());
  9. System.Console.WriteLine("Введите идентификатор удаляемого студента:");
  10. int Id = Convert.ToInt32(Console.ReadLine());
  11. foreach (Student ob in mn)
  12. {
  13. if (Id == ob.getId())
  14. mn.Remove(ob); // нельзя же удалять объект используемый в цикле foreach или нет?
  15. }
  16. }
  17. else
  18. System.Console.WriteLine("Группа пуста!");
  19. }
  20. private System.Collections.Generic.List<Student> mn;
  21. }

Решение задачи: «Ошибка при использование цикла foreach»

textual
Листинг программы
  1. for (int i = mn.Count - 1; i >= 0; i--)
  2.    if (mn[i].getId() == Id)
  3.       mn.RemoveAt(i);

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

11   голосов , оценка 3.909 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы