目前,我们可以说我有这段代码:
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
但它仍然无效!怎么了?
答案 0 :(得分:2)
你编写条件的方式总是如此,循环将无限循环。
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
。前者既是短路操作,也是后者。