【发布时间】:2019-11-01 12:45:59
【问题描述】:
请问我是否可以像这样在一个 while 循环中拥有两个条件?
例如:
我已经在自己的代码中尝试了几乎所有内容。
int a = 0;
bool b = false;
while(a!=5 || b!=true) {
a++;
}
Console.WriteLine("A is successfuly loaded into 5.");
Console.WriteLine("Bool is still " + b);
我希望输出为 5,但在我的程序中我有一个无限循环。
【问题讨论】:
-
为什么你认为
b!=true永远不会是真的? -
将条件更改为
(a!=5 && b!=true)- 整个条件应评估为True以使循环继续,或False使其停止/退出/中断 -
听起来您有兴趣继续循环,直到 one 条件不再成立 - 如果这是您的意图,您应该使用“和”符号 ( &&) 而不是“或”( || )
-
作为风格问题,通常首选使用
!b,而不是写b!=true或b==false。当b的编译时类型为bool时,所有这些都是等价的。 (对于可为空的布尔值b,它们都是不同的。)
标签: c# while-loop conditional-statements