Как добавить или к циклу while в VB? - PullRequest
1 голос
/ 29 августа 2010

В настоящее время предположим, что у меня есть этот код:

     While r <> "HI"
        r = RandomStringGenerator(1)
        time = time + 1
        Console.WriteLine(r)
    End While

как я могу сделать это так, чтобы я мог сказать в основном это:

    While r <> "HI" Or r <> "BY"
        r = RandomStringGenerator(1)
        time = time + 1
        Console.WriteLine(r)
    End While

Но это все равно не работает!Что с этим?

1 Ответ

2 голосов
/ 29 августа 2010

То, как вы написали свое условное выражение, всегда будет верным, и цикл будет идти бесконечно.

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.Первые версии являются операциями короткого замыкания, в то время как последние или нет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...