Работа со списком в цикле - C#

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

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

Здравствуйте. в цикле for перебираю элементы списка и некоторые удаляю, столкнулся с ошибкой выхода за размер коллекции. Подскажите цикл for в компилированном виде перебирает до начального размера коллекции или каждый проход сверяет размер ? Подозреваю что сверяет. Каким в таком случае способом рациональнее всего удалять элементы из коллекции? (На ум приходит массив индексов и удаление после выборки).

Решение задачи: «Работа со списком в цикле»

textual
Листинг программы
List<int> a = new List<int>() { 1, 2, 3, 4, 5 };
for (int i = 0; i < a.Count; i++)
    if (a[i] == 1 || a[i] == 2 || a[i] == 4 || a[i] == 5)
    {
        a.Remove(a[i]);
        i--;
    }
foreach (var item in a)
    Console.WriteLine(item);
Console.ReadKey();

ИИ для рефератов и докладов


  • Экспорт Word по ГОСТу
  • Минимум 80% уникальности текста
  • Поиск релевантных источников в интернете
  • Готовый документ за 2 минуты

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

11   голосов , оценка 3.818 из 5
Похожие ответы