Как взять пользовательский ввод в виде строки и сверить его с массивом, чтобы получить какое-то сообщение ?
Я пытаюсь создать программу, которая принимает пользовательский ввод и на основе этого дает некоторые результаты.
Входные данные представлены в виде переменной sting и проверяются по строкам, хранящимся в массиве .
Если входные данные совпадают с этими сохраненными переменными, то отображается сообщение об успехе или сообщение об ошибке.
Проблема в том, что когда входные данные совпадают со значением, хранящимся в массиве вместе с какой-то другой буквой в качестве входных данных, даже тогда он принимает их и показывает сообщение об успехе.
Есть какие-нибудь предложения о том, как сделать это более эффективно и улучшить код ?
using System; namespace LearnigToProgram{ class Travel{ string []travellers_name=new string[8]; public string []departure_location=new string[4]; public string[]arrival_location=new string[4]; int[]mobileno=new int[8]; public Travel(){ departure_location[0]="Phuket"; departure_location[1]="Amsterdam"; departure_location[2]="Mumbai"; departure_location[3]="Thailand"; arrival_location[0]="1.Bangkok"; arrival_location[1]="2.Damascas"; arrival_location[2]="3.Sri Lanka"; arrival_location[3]="4.Peshawar"; } } class TripManager{ static void Main(){ int casecheck1,casecheck2,casecheck3,casecheck4; string welcome_msg="Welcome to Sharp Travel Planner .\nPlease select your dream destination\n"; Travel display_location = new Travel (); Console.WriteLine (welcome_msg); for (int i = 0; i < display_location.departure_location.Length; i++) Console.WriteLine (display_location.arrival_location [i]); string input=Console.ReadLine (); casecheck1 = input.IndexOf ("Bangkok", StringComparison.Ordinal); casecheck2 = input.IndexOf ("Damascas", StringComparison.Ordinal); casecheck3 = input.IndexOf ("Sri Lanka", StringComparison.Ordinal); casecheck4 = input.IndexOf ("Peshawar", StringComparison.Ordinal); if((casecheck1==0)|(casecheck2==0)|(casecheck3==0)|(casecheck4==0)) Console.WriteLine ("Your choice is {0}", input); //if (input != ("Bangkok") || ("Damascas") || ("Sri Lanka") || ("Peshawar")) else Console.WriteLine ("Destination not available"); } } }
NotPolitcallyCorrect
Метод Contains поможет вам.