C#没有正确地减去我的值

时间:2016-07-16 18:51:12

标签: c#

我有一个设置值和一个用户输入文本框,我将它设置为仅数字条目,然后将其转换为int,这一切都有效,但是当我运行代码并输入一个小于设定值无法正常工作

TL:DR

(设定值20,用户输入值12,代码返回-4)

group by

1 个答案:

答案 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;
    ...
}