【发布时间】:2018-06-23 11:06:22
【问题描述】:
我在尝试将玩家的姓名和得分加载到数组的第一个开放空间时出现错误,但它会在数组中一遍又一遍地创建该名称的重复项。在此先感谢
Structure Player
Dim Name As String
Dim Score As Integer
End Structure
Public HighScores(100) As Player
For i = 0 To 99
If HighScores(i).Name = "" And HighScores(i).Score = 0 Then
HighScores(i).Name = PlayerName
HighScores(i).Score = CurrentScore
Else
i += 1
End If
Next
【问题讨论】:
-
我不明白创建重复名称是什么意思。请多解释一下。
-
所以它会将玩家姓名和当前得分变量放在数组的多个位置。像 Array(0) 和 Array(1) 和 Array(2) 都将是相同的名称和分数。
-
我建议使用 Dictionary(Of String,Integer) 或 List(Of Player) 并在添加之前检查对象中是否已经存在玩家名称。
-
我会在设置 IF 块中的值后添加“退出”。这就是为什么你会得到多个相同值的条目。另外,删除你的 else 块。 for 循环区域的索引 i
-
你能举一个Exit For代码的例子吗?你的意思是在 THEN 之后?