Удалить несколько элементов или строк из списка VB.NET - PullRequest
2 голосов
/ 19 ноября 2011

Я хочу удалить несколько строк списка, я пробовал это

For teller = 0 To 170 Step 1

        ListBox1.Items.Remove(teller)

    Next

Но это не работает. Как удалить первые 170 строк в моем списке? :)

Ответы [ 3 ]

2 голосов
/ 19 ноября 2011

Поскольку удаление элемента из списка сдвигает остальные элементы вверх, просто удалите первый элемент несколько раз:

For i As Integer = 1 To 170
    Me.ListBox1.Items.RemoveAt(0)
Next

Вы также использовали Remove вместо RemoveAt, который удаляет элемент по ссылке, а не по индексу.

2 голосов
/ 19 ноября 2011

Проблема в том, что при удалении элементов ваш список становится короче, поэтому у вас закончатся элементы. Итак, просто удалите первую запись на каждом проходе:

Обновлено, чтобы отразить комментарии minitech

For teller = 0 To 169
   ListBox1.Items.RemoveAt(0)
Next
1 голос
/ 19 ноября 2011

Попробуйте это

Dim count as Integer

count = ListBox1.Items.Count ''Or 170

For teller = 1 To count Step 1

        ListBox1.Items.RemoveAt(0)

    Next

РЕДАКТИРОВАТЬ Как заявило minitech, всегда полезно удалить первый элемент, если вы хотите очистить список или сетку или любую другую коллекциюпервые X предметов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...