これがなぜこれまでにまだまだ近づいているのか” ifステートメント?
質問
私はIfステートメントに取り組んでおり、ループを無視するために2つの条件を満たしたいと思っています。これは最初は簡単そうに見えましたが、今は…わかりません。これが私のジレンマです...
if((radButton1.checked == false)&&(radButton2.checked == false))
{
txtTitle.Text = "go to work";
}
ジレンマは「仕事に行く」ことですradButton1がfalseで、radButton2がtrueの場合、実行されません。ステートメントをスキップするために両方の条件をfalseにする必要はありませんか?
解決
いいえ、ステートメントを実行するには両方とも偽である必要があります。
他のヒント
いいえ、ステートメントを実行するには、両方の条件がfalseである必要があります。もう一度読む:
if ((radButton1.checked == false) && (radButton2.checked == false)) {
txtTitle.Text = "Go to work";
}
英語:" radButton1.checkedがfalseかつradButton2.checkedがfalseの場合、設定 txtTitle.Textを「仕事に行く」"にします。
両方の条件が偽のときにステートメントをスキップする場合は、次のようにロジックを無効にします。
if ((radButton1.checked == true) || (radButton2.checked == true)) {
txtTitle.Text = "Go to work";
}
これを英語に翻訳すると、次のようになります:radButton1.checkedがtrueまたはradButton2.checkedがtrueの場合、テキストを「仕事に行く」"に設定します。これは、いずれかの条件が真の場合、ステートメントを実行するか、両方が偽の場合、それをスキップすることを意味します。
A
と B
AとBにこれらの値がある場合
A true true false false
B true false true false
これらの操作は戻る
AND true false false false
OR true true true false
XOR false true true false
NAND false true true true
NOR false false false true
XNOR true false false true
2番目のテーブルの下部3は、同じテーブルの上部3の論理的な反対(つまり、適用されていない)であることに注意してください。
true(またはfalse)と比較することはまったく不要です:
if(!((radButton1.checked == true)&&(radButton2.checked == true))) { ... }
なる
if( !(radButton1.checked && radButton2.checked) ) { ... }
または同等
if( !radButton1.checked || !radButton2.checked ) { ... }
この例では、両方のボタンがfalseの場合、 txtTitle.Text ="仕事に行くコードのみを実行します。そのため、1つがtrueで、1つがfalseの場合、ステートメントはスキップされます。
いいえ。スキップするには、これらのステートメントのいずれかをfalseにする必要があります。 ifを見てください:
if (condition1 && condition2) {
doSomething();
}
したがって、condition1 OR condition2がtrueでない場合、実行されません。
機能しました。ステートメントを実行するには両方ともfalseである必要があることがわかります。そのステートメントの場合、両方の条件を満たす方法は
if(!((radButton1.checked == true)&&(radButton2.checked == true)))
{
...
}