我想创建一个while循环,它将在两个条件中的一个条件下继续运行,其中所选的一个条件被确定为条件。例如,它将是类似于while(if (c = true) a<b else b<a)的东西。有什么简单的语法可以做到这一点吗?或者,我必须走一条蛮横的路,然后做以下事情?
if (c = true)
{
while(a<b)
{
}
}
else
{
while(b<a)
{
}
}发布于 2012-07-26 12:47:46
您可以利用布尔求值的短路特性,并且:
while ((c && a < b) || (!c && b < a)) {
// ...
}但是,您可能会发现这很难读懂。另一种方法可能是使用条件运算符:
while (c ? (a < b) : (b < a)) {
// ...
}发布于 2012-07-26 12:49:53
最简单的方法是:
while( c && a<b || !c && b<a )
{
...
}如果我的C#语法不正确,很抱歉。我是个C++迷。=)
https://stackoverflow.com/questions/11662473
复制相似问题