2015-10-08 2 views
-2

Я пытаюсь создать легкую систему инвентаризации для некоторой практики, чтобы попытаться поправиться на C#, я показываю своим пользователям ряд металлов и спрашиваю их, что они хотел бы сделать (ожидая результата «возьмите металл» или «возьмите металл»)Как назначить вход A или вход B той же команде

Как мне это сделать?

Я сейчас делаю

If UserInput = "Pick up metal" or "take metal" then invt=worth.metal 

Однако, это не работает, скрипт для какой-то причине аварии говорят, что я пытаюсь установить «взять металл» как логическое

Я мог бы решить эту проблему, делая две отдельные линии

(If input = "pick up metal" invt = worth.metal 
if input = "take metal" invt = worth.metal) 

Однако это может усложнить код, когда я получу 10 + пользовательских ввода.

+0

Подберите код, а также, пожалуйста, избегайте 'не работает' и укажите, в чем проблема. Какое исключение вы получаете. –

+0

Является ли это C# или VB? Предоставьте реальный код. –

ответ

0

Прежде всего, оператор проверки равен ==, а не =. Второй - оператор присваивания. Во-вторых, вы можете выполнить две проверки с помощью оператора || (короткого замыкания ИЛИ). Попробуйте:

If (UserInput == "Pick up metal" || UserInput == "take metal") 
{ 
    // do what you need 
} 

Я предполагаю, что UserInput переменная строка. Кстати, код, который вы представили, не похож на действительный C# для меня.

+1

Почему бы не использовать метод '.Equal()' вместо оператора '=='? –

+0

@CoderofCode Я предполагаю, что 'UserInput' является строкой. Должно, возможно, это разъяснить. – Kapol

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