2016-10-06 2 views
0

Я хочу сравнить два пользовательских ввода. Так, например:C# сравнение двух пользовательских входов

 if(userinput == "Yes" || "yes") 

    { //do whatever...  } 

Не знаете, как это сделать? так как вышеуказанный метод не работает. Новое в C#

+1

да .. вопрос и код на самом деле не соответствует .. у вас есть один пользовательский ввод, и вы хотите, чтобы сравнить его с двумя или у вас есть два пользовательских ввода, и вы хотите их сравнить? – Lidaranis

ответ

3

заменить

if(userinput == "Yes" || "yes") 

с

if(userinput == "Yes" || userinput == "yes") 

или даже лучше, если вы хотите игнорировать чувствительность к регистру полностью

if (userinput.Equals("yes", StringComparison.OrdinalIgnoreCase)) 
1

Пожалуйста, прочитайте о if statements в MSDN:

if(userinput == "Yes" || userinput =="yes") {} 

Вы также можете использовать:

string.Equals(userinput , "yes", StringComparison.CurrentCultureIgnoreCase); 
0

Сделать общее решение с игнорированием случай:

var userinput = "yEs"; 

if(userinput.Equals("yes", StringComparison.InvariantCultureIgnoreCase)) 
{ // do some work 
} 
0

Вы должны получить только один случай, выполнив следующие действия:

 if (userinput.ToUpper() == "YES") 
     { 
      do what you want 
     } 

Метод ToUpper() делает все буквы в верхнем регистре, поэтому у вас есть единственный случай «ДА» без обращения к другому корпусу.

0

Другой способ изменить строку, как это занесены:

if(userinput.ToLower() == "yes") 
{ 

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