bslls:DeletingCollectionItem¶
Удаление элемента при обходе коллекции посредством оператора "Для каждого ... Из ... Цикл" (DeletingCollectionItem)¶
- Тип: Ошибка
- Важность: Важный
- Включена по умолчанию: Да
- Теги:
standard,error
Описание диагностики¶
Не следует непосредственно удалять элементы коллекции при ее обходе через синтаксическую конструкцию Для каждого ... Из ... Цикл. Т.к. при удалении элемента сдвигается индекс следующего элемента.
Например:
Как вариант удаляйте элементы с конца:
ТекущийИндекс = Числа.ВГраница();
Пока ТекущийИндекс >= 0 Цикл
Если Числа[ТекущийИндекс] < 10 Тогда
Числа.Удалить(ТекущийИндекс);
КонецЕсли;
ТекущийИндекс = ТекущийИндекс – 1;
КонецЦикла;
Источники¶
Соответствие стандартам¶
Нет подтверждённых связей со стандартами.
Источник диагностики¶
- Исходная статья
- Ревизия:
f4616cda8a216789ee40529ed857e614b9e2ea25 - Лицензия:
LGPL-3.0-or-later