我有一个设置值和一个用户输入文本框,我将它设置为仅数字条目,然后将其转换为int,这一切都有效,但是当我运行代码并输入一个小于设定值无法正常工作
TL:DR
(设定值20,用户输入值12,代码返回-4)
group by
答案 0 :(得分:2)
问题是你要减去12次 - 一次在if
之前,一次在else
分支之内。
不要立即使用-=
,而是使用-
比较值,如下所示:
var passengers = Convert.ToInt32(PassengersTXT.Text);
if (Seating.FirstClass-passengers < 0) { // Do not modify FirstClass yet
...
} else {
// Now that we know that it's OK, apply modifications
Seating.FirstClass -= passengers;
...
}