我只是试图检查三个无线电盒中的一个是否已被检查,出于某种原因,即使在调试控制台中所有方框'.Selected = false',它仍然会跳过我的错误消息。任何帮助表示赞赏。
if ((rdoIndoor.Checked = false ) && ( rdoOut.Checked = false ) && ( rdoSwimming.Checked = false ))
{
MessageBox.Show("Please select an event style");
}
答案 0 :(得分:6)
您正在使用赋值运算符而不是比较运算符。 =
运算符用于分配。使用==
进行比较。
更好的是,完全摆脱==
运算符,并使用!
运算符,如下所示:
if ( !rdoIndoor.Checked && !rdoOut.Checked && !rdoSwimming.Checked )
{
MessageBox.Show( "Please select an event style" );
}
答案 1 :(得分:2)
用于比较值的等于运算符是==
所以你的代码应该是:
if ((rdoIndoor.Checked == false ) &&
( rdoOut.Checked == false ) &&
( rdoSwimming.Checked == false ))
......
答案 2 :(得分:1)
使用双等号(rdoIndoor.Checked **==** false)
等
单'='表示分配,即。即从现在起让'rdoIndoor.Checked'是假的。
Double'=='是逻辑测试。
你可能知道;)