このコードのどこが間違っているのか誰かが指摘できるかどうか疑問に思っていました. Nouns という ArrayList を使用しており、 から選択した単語を という別の単語に追加するコードがありArrayList
ます。ArrayList
NewArray()
問題は、Sub が label_click イベントから呼び出されると、コードがある NewArray に保存されている単語を保持しないことNewArray.Add(WordChosen)
です。これは、ブレークポイントとステッピングを使用してデバッグすることで見つかりました。
この部分のコードは次のとおりです。
Sub GetNoun()
Dim Nouns As ArrayList = New ArrayList(16)
Nouns.Add("France")
Nouns.Add("Bird")
Nouns.Add("Doctor")
Nouns.Add("City")
...
Dim lblArray As Label() = {lblOne, lblTwo, lblThree, lblFour}
Start:
Dim WordChosen As String
WordChosen = Nouns(Random.Next(16))
If NewArray.Contains(WordChosen) Then
GoTo Start
Else
Dim LabelChosen As Label
LabelChosen = lblArray(Random.Next(4))
LabelChosen.Text = WordChosen
Nouns.Remove(WordChosen)
NewArray.Add(WordChosen)
End If
End Sub
動的な ArrayList 内に単語を保持するにはどうすればよいですか? これが理にかなっており、重複していないことを願っていますが、アイデアに行き詰まっています。