我正在C#Visual Express 2013中构建一个非常简单的计算器。我正在读一本书。第一周编码员在这里。
http://www.homeandlearn.co.uk/csharp/calculator1.txt
在上面编写的代码中,我不了解一段代码:
private void btnClear_Click(object sender, EventArgs e)
{
plusButtonClicked = false;
minusButtonClicked = false;
divideButtonClicked = true;
multiplyButtonClicked = false;
txtDisplay.Clear();
}
在这里拥有这些布尔值的附加价值是多少?只写txtDisplay.Clear();
不足以使btnClear_Click
执行计算器的行为吗?
答案 0 :(得分:2)
我认为一切都应该重置为假。这意味着即使divideButtonClicked
也应该是假的。只编写代码txtDisplay.Clear()
才能清除文本框。我们需要清除所有操作,因此我们需要将所有内容都设置为false
答案 1 :(得分:2)
参见EQUALS BUTTON:
private void btnEquals_Click(object sender, EventArgs e) {
if (plusButtonClicked == true) {
total2 = total1 + double.Parse(txtDisplay.Text);
}
else if (minusButtonClicked == true) {
total2 = total1 - double.Parse(txtDisplay.Text);
}
else if (multiplyButtonClicked == true) {
total2 = total1 * double.Parse(txtDisplay.Text);
}
else if (divideButtonClicked == true) {
total2 = total1 / double.Parse(txtDisplay.Text);
}
txtDisplay.Text = total2.ToString();
total1 = 0;
}
开发人员想知道用户是否点击了相同的按钮,该程序应该做什么......就像真正的计算器一样。
但是对于清除按钮所有标志都应设置为false
。
答案 2 :(得分:2)
如果您进入btnClear_Click()然后执行btnEquals_Click(),请考虑一个案例。它将在行total2 = total1 / double.Parse(txtDisplay.Text);
所以你需要把它设置为假。
答案 3 :(得分:1)
所有标志都需要设置为false,因为这是一个重置按钮,因此你想让所有其他按钮设置为关闭状态(例如,点击分割按钮将其切换到开启状态 - 我们需要重置计算器,现在我们将其转为关闭状态)