単語に同じ文字が複数含まれているかどうかをチェックするコードを書いているので、各文字を配列に分割してこのコードを書きました。「correctGuesses」変数は、重複する文字の数であると想定されています。配列には文字列 ("H、E、L、L、O") が含まれます。
Dim newCharArray() As Char = wordArray(rndNumber).ToCharArray
ReDim Preserve charToString_2(newCharArray.Length - 1)
Dim cBoolean As Boolean = False
For i As Integer = 0 To (newCharArray.Length - 1) Step 1
charToString_2(i) = newCharArray(i)
MsgBox(charToString_2(i))
Next
For j As Integer = 0 To (charToString_2.Length - 1) Step 1
For b As Integer = 0 To (charToString_2.Length - 1) Step 1
MsgBox("Is " & charToString_2(j) & " = " & charToString_2(b) & "?")
If j = b Then
MsgBox(j & " is equal to " & b & ", continuing.")
Exit For
End If
If CStr(charToString_2(b)) = CStr(charToString_2(b)) Then
MsgBox("Yes, +1")
correctGuesses += 1
charToString_2(b) = "Replaced"
cBoolean = True
End If
MsgBox("No, Continuing.")
Next
Next
最初の if ステートメントは機能するため、j = b になると終了して続行します。しかし、次のループでは、"E" が "H" と等しいかどうかをチェックし、true を返します! 理由がわかりません!