Я работаю со списком в vb.net и пытаюсь удалить все элементы из списка, которые не содержат определенного текста, нажатием кнопки кнопка. Вот мой код:vb.net listbox- Удалить ВСЕ элементы, которые НЕ содержат конкретный текст
Dim i As Integer
For i = 0 To ListBoxPrePublish.Items.Count - 1
If InStr(ListBoxPrePublish.Items(i), "-8-") > 0 = False Then
ListBoxPrePublish.Items.RemoveAt(i)
Exit For
End If
Next
Это удаляет только 1 элемент за раз. Как я могу настроить это, чтобы удалить все элементы, которые не содержат «-8-» сразу?
EDIT: в случае, если кто-либо спрашивает, список элементов списка растет довольно большой, поэтому я добавляю функцию сортировки, чтобы пользователи могли нарушать свои параметры, если захотят. Вот почему я не фильтрую ничего перед добавлением в список
Попробуйте зацикливание в другом направлении 'Для я = ListBoxPrePublish.Items.Count - 1 до 0 Шага -1' –
Спасибо, но «конец ожидаемого утверждения», когда я добавляю в 0 Шаг -1 –
Можете ли вы опубликовать весь код, модифицированный код кода для обратной петли? «Шаг -1» является действительным заявлением VB.Net. Также 'String' в VB имеет метод' Contains', поэтому вы можете сделать свой чек как 'If ListBoxPrePublish.Items (i) .Contains (" - 8- ") Then' –