1

2 つの条件のいずれかで実行し続ける while ループを作成したいと思います。選択された条件は条件として決定されます。たとえば、 のようなものになりますwhile(if (c = true) a<b else b<a)。これには簡単な構文がありますか?それとも、野蛮な方法で次のことを行う必要がありますか?

if (c = true) 
{ 
   while(a<b)
   {
   }
} 
else 
{
   while(b<a)
   {
   }
}
4

2 に答える 2

3

ブール値評価の短絡的な性質を利用して、次のことを行うことができます。

while ((c && a < b) || (!c && b < a)) {
    // ...
}

ただし、これを読むのは難しいかもしれません。別のアプローチは、条件演算子を使用することです。

while (c ? (a < b) : (b < a)) {
    // ...
}
于 2012-07-26T04:47:45.833 に答える
1

これを行う最も簡単な方法は次のとおりです。

while( c && a<b || !c && b<a )
{
  ...
}

C# の構文が正しくない場合は申し訳ありません。私は C++ ジャンキーです。=)

于 2012-07-26T04:49:53.460 に答える