以前一直没怎么注意..
if (checkBox_t_OnLogin.Checked == true && checkBox_t_Timer.Checked == true)
{
}
else
{
if (checkBox_t_OnLogin.Checked == true)//记为A
{
}
if (checkBox_t_Timer.Checked == true)//记为B
{
}
else
{
MessageBox.Show("未选择","保存失败");//记为C
return;
}
实际运行结果中,如果A处为true,B处为false,则C处代码还是会运行。
其实仔细一看就知道问题所在了。。C的else只对B起效
平时很喜欢写if并列,不带else的语句,结果今天就出了这个小毛病。。
Comments | 1 条评论
博主 867871766
有时候我也会这么写:
action_flag = false
//执行判断
if(condition){
action_flag = true;
}
//执行操作
if(action_flag){
do_action();
}
在多个if嵌套的时候挺管用的,就不知道前人的经验中会不会有更好的方案。