このコード行が何を意味し、それが良い習慣であるかどうかを誰かに説明してもらえますか?
ブール値に1つまたは別の値を割り当てようとしているように思えますが、明確ではありません。
myBoolVar = isC || isP || isX;
このコード行が何を意味し、それが良い習慣であるかどうかを誰かに説明してもらえますか?
ブール値に1つまたは別の値を割り当てようとしているように思えますが、明確ではありません。
myBoolVar = isC || isP || isX;
isC、isP、または isX のいずれかが true の場合、myBoolVar は true になります。
|に似ています。ただし、左側がtrueと評価された場合、右側は評価されません。
それが良い習慣であるかどうかについては、より冗長な意味論的等価物を検討してください:-
bool myBoolVar;
if (isC)
{
myBoolVar = true;
}
else if (isP)
{
myBoolVar = true;
}
else if (isX)
{
myBoolVar = true;
}
特に、どちらを維持したいかを検討してください。ほとんどの場合、人々は簡潔myBoolVar = isC || isP || isX;
な方が読みやすいと考えていると思います。
以下のコメントから、プログラミングは単純さであり、「見せびらかす」ことではないと主張していることがわかります。プログラマーは自分の満足のためにコードを圧縮したり、意図的に難読化しようとすることがよくありますが、それはしばしばプロジェクトに損害を与えます。これはおそらくそれらのケースの 1 つではありません。変数にもっと明確な名前を付けて、適切な名前のプロパティの背後にカプセル化することもできますが、a || b || c
より冗長なものよりも構造を使用することは間違いありません。
それをより明確に表現する方法があると思われる場合は、それを私たちと共有してください。それについて話し合うことができます.
これが条件OR
です。isC
とisP
の値は一緒isX
にOR
-ed されます。
http://msdn.microsoft.com/en-us/library/6373h346.aspx
あなたがする必要があるのは、ファインマニュアルを読むことだけです.
演算子は||
単に OR を意味します。したがって、疑似コードでは次のように言うかもしれません
myBoolVal = isC OR isP OR isX
これは平易な英語で何をしますか...
「isC が true、isP が true、または isX が true の場合、myBoolVal は true、それ以外の場合、myBoolVal は false」
それらのいずれかにtrue
値がある場合は true を返します
bool myBoolVar = false;
if( isC == true || isP == true || isX == true)
{
myBoolVar = true;
}
条件付きOR :
それは、次の変数のいずれかisC, isP, isX
がTrue
次にmyBoolVar
あることを意味しますTrue
あれは:
myBoolVar = if(isC == true) || if(isP == true) || if(isX == true)