2015-08-10 4 views
-1

Я пытаюсь сказать здесь, если userinput = 1 или 2 отображает сообщение "you won a new car", но оно не работает.C# вопрос используя «Или»

Ошибка говорит

«оператор || не может применяться к операндам типа и строки».

Я занимаюсь C# всего за 2 дня.

namespace ConsoleApplication3 
{ 
    class Program 
    { 
     static void Main(string[] args) 
     { 
      Console.WriteLine(" 1 2 or 3"); 
      String message = Console.ReadLine(); 
      string userinput = ""; 
      if (userinput == "1" || "2") 
       message = "you won a new car"; 
+0

К сожалению, я пытаюсь переформатировать это, так что вы можете прочитать его не – Amicheals

+0

Это одна довольно легко для google, хотя оператор C# if или. Вы будете в безопасности много времени. – Measuring

ответ

10

Не работает, как будто я боюсь! Использование:

if(userinput == "1" || userinput == "2") 

Причина этого в том, что оператор if ожидает истинного или ложного результата. С булевым оператором (||) обе стороны должны оценивать либо true, либо false. В этом случае userinput == "1" будет оценивать значение true, если userinput равно 1, иначе оно будет false. Автономный «2» не оценивает значение true или false, он оценивает значение «2».

2

Последняя строка должна быть изменена:

if (userinput == "1" || userinput == "2") 
    message = "you won a new car"; 

Каждая часть заявления, отделенной «ИЛИ» оператор должен быть в состоянии оценить, истинным или ложным.

1

Вам нужно

if(userinput == "1" || userinput == "2") 

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

0

вы также можете использовать Array.IndexOf если у вас есть несколько значений.

ex. если у вас есть 10 значений, которые вы хотите сравнить с помощью OR, вы можете просто использовать Array.IndexOf сократить код ..

string[] array= new string[2]; 
array[0] = "1"; 
array[1] = "2"; 

if(Array.IndexOf(array, userInput) != -1) //-1 means it doesn't exist 
{ 
    message = "you won a new car"; 
} 
Смежные вопросы