2 つの条件のいずれかで実行し続ける while ループを作成したいと思います。選択された条件は条件として決定されます。たとえば、 のようなものになりますwhile(if (c = true) a<b else b<a)
。これには簡単な構文がありますか?それとも、野蛮な方法で次のことを行う必要がありますか?
if (c = true)
{
while(a<b)
{
}
}
else
{
while(b<a)
{
}
}
2 つの条件のいずれかで実行し続ける while ループを作成したいと思います。選択された条件は条件として決定されます。たとえば、 のようなものになりますwhile(if (c = true) a<b else b<a)
。これには簡単な構文がありますか?それとも、野蛮な方法で次のことを行う必要がありますか?
if (c = true)
{
while(a<b)
{
}
}
else
{
while(b<a)
{
}
}
ブール値評価の短絡的な性質を利用して、次のことを行うことができます。
while ((c && a < b) || (!c && b < a)) {
// ...
}
ただし、これを読むのは難しいかもしれません。別のアプローチは、条件演算子を使用することです。
while (c ? (a < b) : (b < a)) {
// ...
}
これを行う最も簡単な方法は次のとおりです。
while( c && a<b || !c && b<a )
{
...
}
C# の構文が正しくない場合は申し訳ありません。私は C++ ジャンキーです。=)