0

我只是想检查三个单选框之一是否已被选中,出于某种原因,即使在调试控制台中所有框 '.Selected = false' 它仍然跳过我的错误消息。任何帮助表示赞赏。

 if ((rdoIndoor.Checked = false ) && ( rdoOut.Checked = false ) && ( rdoSwimming.Checked = false ))
        {
            MessageBox.Show("Please select an event style");

        }
4

3 回答 3

6

您正在使用赋值运算符而不是比较运算符。=运算符用于赋值。用于==比较。

更好的是,完全摆脱您的==运算符,并使用!运算符,如下所示:

if ( !rdoIndoor.Checked && !rdoOut.Checked && !rdoSwimming.Checked )
{
    MessageBox.Show( "Please select an event style" );
}
于 2012-04-16T20:39:01.757 回答
2

用于比较值的相等运算符是== 所以你的代码应该是:

if ((rdoIndoor.Checked == false ) && 
    ( rdoOut.Checked == false ) && 
    ( rdoSwimming.Checked == false )) 
......
于 2012-04-16T20:39:30.150 回答
1

使用双等号(rdoIndoor.Checked **==** false)等 单个“=”表示赋值,即从现在开始让“rdoIndoor.Checked”为假。双 '==' 是逻辑测试。你可能知道;)

于 2012-04-16T20:43:02.037 回答