我正在用C#创建一个时钟。 Joshua
在顶部设置为false
,当我点击时钟时,我们假设将joshua
设置为true
并跳过if
的其余部分}语句。相反,它告诉我,我已经掌握了。
if (Joshua = false && button.Text == "In")
{
Joshua = true;
goto done;
}
if (Joshua = true && button.Text == "Out")
{
Joshua = false;
goto done;
}
else if (Joshua = true && button.Text == "In")
{
SpeakNow("You are already clocked in");
goto clear;
}
else if (Joshua = false && button.Text == "Out")
{
SpeakNow("You are already clocked out");
goto clear;
答案 0 :(得分:4)
你有:
Joshua = false
这是一项任务,而非比较。您if
测试中实际需要的是:
Joshua == false
答案 1 :(得分:1)
Joshua = false
是作业。您希望通过使用双等号(例如此
)来检查相等性Joshua == false
或者您可以使用Equals,它最终可以在引擎盖下进行相同的操作
Joshua.Equals(false)
答案 2 :(得分:0)
您正在将赋值操作'='
与等于操作'=='
将if语句中的所有'='
更改为'=='
if (Joshua == false && button.Text == "In")
{
Joshua = true;
goto done;
}
if (Joshua == true && button.Text == "Out")
{
Joshua = false;
goto done;
}
else if (Joshua == true && button.Text == "In")
{
SpeakNow("You are already clocked in");
goto clear;
}
else if (Joshua == false && button.Text == "Out")
{
SpeakNow("You are already clocked out");
goto clear;
}
答案 3 :(得分:0)
制作
Joshua = false
到
Joshua == false
在你的第一个if条件
答案 4 :(得分:0)
您可以使用更好的替代方案:
if (!Joshua && button.Text == "In")
{
Joshua = true;
goto done;
}
if (Joshua && button.Text == "Out")
{
Joshua = false;
goto done;
}
因此Joshua是一个Bool你可以使用!(not)运算符
另外,请确保按预期更改按钮的文本。
protected void button_Click(object sender, System.EventArgs e)
{
if(button.Text.ToLower() == "in")
{
button.Text = "Out";
}
else if(button.Text.ToLower() == "out")
{
button.Text = "In";
}
}