Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vb.net 如何在VB中添加或到While循环?_Vb.net_Loops_While Loop - Fatal编程技术网

Vb.net 如何在VB中添加或到While循环?

Vb.net 如何在VB中添加或到While循环?,vb.net,loops,while-loop,Vb.net,Loops,While Loop,目前,假设我有以下代码: While r <> "HI" r = RandomStringGenerator(1) time = time + 1 Console.WriteLine(r) End While 当r“HI”时 r=随机字符串生成器(1) 时间=时间+1 控制台写入线(r) 结束时 我怎样才能做到基本上可以这样说: While r <> "HI" Or While r <&g

目前,假设我有以下代码:

     While r <> "HI"
        r = RandomStringGenerator(1)
        time = time + 1
        Console.WriteLine(r)
    End While
当r“HI”时
r=随机字符串生成器(1)
时间=时间+1
控制台写入线(r)
结束时
我怎样才能做到基本上可以这样说:

    While r <> "HI" Or While r <> "BY"
        r = RandomStringGenerator(1)
        time = time + 1
        Console.WriteLine(r)
    End While
当r“HI”或r“BY”时
r=随机字符串生成器(1)
时间=时间+1
控制台写入线(r)
结束时
我已经试过了:

    While r <> "HI" Or r <> "BY"
        r = RandomStringGenerator(1)
        time = time + 1
        Console.WriteLine(r)
    End While
当r“HI”或r“BY”时
r=随机字符串生成器(1)
时间=时间+1
控制台写入线(r)
结束时

但它仍然不起作用!这是怎么回事?

您编写条件语句的方式始终为真,循环将无限循环

r <> "HI" Or r <> "BY"
r“HI”或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
当r“HI”和r“BY”时
r=随机字符串生成器(1)
时间=时间+1
控制台写入线(r)
结束时
最后一点是,您应该更喜欢
OrElse
而不是普通的
以及
而不是普通的
。前者都是短路操作,而后者则不是