如何在VB中的While循环中添加Or?
目前,假设我有这段代码:
While r <> "HI"
r = RandomStringGenerator(1)
time = time + 1
Console.WriteLine(r)
End While
我该如何制作它,以便我基本上可以这样说:
While r <> "HI" Or While r <> "BY"
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
但它仍然不起作用!这是怎么回事?
Currently, lets say that I have this code:
While r <> "HI"
r = RandomStringGenerator(1)
time = time + 1
Console.WriteLine(r)
End While
how can I make it so that i can say basically this:
While r <> "HI" Or While r <> "BY"
r = RandomStringGenerator(1)
time = time + 1
Console.WriteLine(r)
End While
I've alreadly tried:
While r <> "HI" Or r <> "BY"
r = RandomStringGenerator(1)
time = time + 1
Console.WriteLine(r)
End While
But it still doesn't work! What's up with this?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您编写条件的方式将始终为真,并且循环将无限进行。
这本质上是说
这对于存在的每个字符串都是如此。如果字符串既不是“hi”也不是“by”,听起来您想继续。如果是这样,请尝试以下
最后一点是,您应该更喜欢
OrElse
而不是普通的Or
,并且AndAlso
而不是普通的And
。前一个版本都是短路操作,后一个版本则不是。The way you've written your conditional it will always be true and the loop will go infinitely.
This essentially says
This will be true for every single string in existence. It sounds like you want to continue if the string is neither "hi" or "by". If so try the following
One minor final point is you should prefer
OrElse
to plainOr
andAndAlso
to plainAnd
. The former versions are both short circuiting operations while the latter or not.