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,我会得到一个越界异常

4

2 回答 2

4

列表和数组索引从零开始,因此您的列表索引从 0 到 4。

于 2011-10-14T09:38:12.480 回答
1

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”

于 2017-04-29T20:08:56.300 回答