2011-10-14 2 views
2

Я изучаю списки и добавляю/удаляю. В приведенном ниже коде я создаю список, генерировать случайные числа - и затем хотите навсегда удалить номер из списка:Понимание списков, добавляющих/удаляющих значение

cardsLST.AddAll(Array As Int(1,2,3,4,5)) 'create the list 
s = Rnd(1,6) 'generate a random number 1-5 
Msgbox(s,"") 'display the randomly generated number 
Msgbox(cardsLST,"") 'display the current list members 
cardsLST.RemoveAt(s) 'remove the generated value from the list 
Msgbox(strtCardsLST,"") 'display the updated list members 

Я не могу понять смысл чисел ... например ... Если я сгенерирую 1, из списка удаляется 2. Если я генерировать 5, я получаю из исключения ограничивающей

ответ

3

Список и массив Индексы начинаются с нуля, чтобы ваш список индексируется от 0 до 4.

0

cardsLST.AddAll(Array As Int(1,2,3,4,5)) эквивалентно следующему:

cardsLST.insertAT(0,"1") 'cardsLST.isert(Index as int, Value as object) 
cardsLST.insertAT(1,"2") 
cardsLST.insertAT(2,"3") 
cardsLST.insertAT(3,"4") 
cardsLST.insertAT(4,"5") 

Вы можете использовать генератор случайных чисел для создания индекса стоимости карты с s = Rnd(0,5), чтобы сгенерировать случайное число 0-4 так

cardsLST.RemoveAt(3) 

удалит карту "4"

Смежные вопросы