2015-05-03 4 views
1

Я пытаюсь сравнить два значения с меткой и текстовым полем. Когда значение AvailQty равно 6, оно считается «низким», и если пользователь вводит данные в 4 или 10, он будет отображать ошибку, потому что доступно только 6.Условные операторы в C#

У меня есть это:

if ((Int32.Parse(AvailQty.Text) <= 6) && (Int32.Parse(Qty.Text) > 6)) 
{ 
    lblAvailQty = "error"; 
} 

Это работает, но как я могу сделать так, что если пользователь вводит более 6 или ниже 6 ошибки отображения и сделать его эффективным способом, потому что я чувствую, что я будет иметь множество утверждений if.

+0

Это поведение по умолчанию '' && оператора. Остальная часть вашего вопроса непонятна. –

+0

Пожалуйста, уточните свой вопрос. Что означает * полностью остановить и сделать все остальное эффективным? –

+0

@YuvalItzchakov Я переформулировал свой вопрос ... – whwuifhwui

ответ

0

Таким образом, когда доступное количество меньше или равно 6 она должна ошибок. Кроме того, если запрашиваемая величина больше доступного количества, она также должна быть ошибкой.

Я думаю, что это то, что вы ищете:

int avail = Int32.Parse(lblAvailQty.Text); 
int req = Int32.Parse(txtQty.Text); 

if (avail <= 6 || req > avail) 
{ 
    //Display error 
    //Do whatever else you need 
} 
+1

Вы разработчик программного обеспечения, и вы «забываете» о «или»? –

0

Если вы делаете это внутри какого-либо обработчика событий, вы можете просто поместить один «возврат»; оператор внутри того же if() {} блока как последний оператор.

Он эффективно прерывает выполнение обработчика событий.

Пример:

if ((Int32.Parse(lblAvailQty.Text) <= 6) && (Int32.Parse(txtQty.Text) <= 6)) 
{ 
    lblAvailQty = "error"; 
    return; 
} 
+0

Это должно быть скорее комментарий, чем * ответ *, вам не кажется? – khlr

+0

Разве я не предлагаю решение? : O – mephisto123

+0

Ну, идет немного короче, imho;) – khlr

Смежные вопросы