我是编程的新手,我遇到了一个名为“可能错误的空语句”的问题,现在我已经对这个主题进行了大量研究,我给出的解决方案是删除if之后的半冒号声明,但这只会产生更多警告和更多我目前不知道解决方案的错误,我非常感谢帮助,我使用的语言是C#。
if (checkBox5.Checked = true) ;
Double value5 = Convert.ToDouble(checkBox4.Checked);
value5 = +1;
Double result5 = value5;
label2.Text = Convert.ToString(result5);
答案 0 :(得分:8)
我猜这就是你想要的:
if (checkBox5.Checked == true)
{
double value5 = Convert.ToDouble(checkBox4.Checked) + 1;
label2.Text = value5.ToString();
}
=
是分配,而==
检查是否相等,另一方面if
后的分号将终止整个if
语句。
请注意,当您检查true
时,您可以使用此功能:
if (checkBox5.Checked) { }
答案 1 :(得分:4)
你应该使用;
if (checkBox5.Checked == true)
不
if (checkBox5.Checked = true)
=
是赋值运算符,==
是等于运算符。
退房;
当然,当你检查你的真实价值时,你可以使用if条件,如;
if (checkBox5.Checked)
{
// Do something if checkBox5 is checked.
}
如果你在if条件之后使用分号;
if (checkBox5.Checked = true) ;
相当于
if (checkBox5.Checked = true) { }
所以在你的情况下,我认为你也不应该使用分号。因为如果你使用它,你的代码将会是这样的;
if (checkBox5.Checked = true)
{
}
Double value5 = Convert.ToDouble(checkBox4.Checked);
value5 = +1;
Double result5 = value5;
label2.Text = Convert.ToString(result5);
我认为你不想这样做。请记住,即使没有正文执行,也不意味着循环终止。
答案 2 :(得分:0)
除了@des和@Soner的答案,你为什么不这样做:
if (checkBox5.Checked)
label2.Text = Convert.ToDouble(checkBox5.Checked).ToString();
我假设您不打算value5
增加1
,因为它应该是value5 += 1;
答案 3 :(得分:0)
if (checkBox5.Checked == true) ; // or you can use if (checkBox5.Checked)
// ^------------------- `=` assignment operator must be `==` equals
{ // missed
Double value5 = Convert.ToDouble(checkBox4.Checked);
value5 = +1;
// ^_______________ I assume you need `=+` addition assignment operator instead
// assigning `+1` to `value5 `
Double result5 = value5;
label2.Text = Convert.ToString(result5);
} /// missed
答案 4 :(得分:0)
问题是你的if和单个'='结尾处的分号应该是:
if (checkBox5.Checked = true) ;
应该是:
if (checkBox5.Checked == true) // double '==' for equality comparison