То, как вы написали свое условное выражение, всегда будет верным, и цикл будет идти бесконечно.
r <> "HI" Or r <> "BY"
Это по существу говорит
Если r не равно "Hi" или r не равно "By"
Это будетбыть верным для каждой существующей строки.Звучит так, как будто вы хотите продолжить, если строка не "hi" или "by".Если это так, попробуйте следующее
While r <> "HI" AndAlso r <> "BY"
r = RandomStringGenerator(1)
time = time + 1
Console.WriteLine(r)
End While
Еще один незначительный заключительный момент: вы должны предпочесть OrElse
обычному Or
и AndAlso
простому And
.Первые версии являются операциями короткого замыкания, в то время как последние или нет.