2016-02-01 2 views
-6

это пример кода, который я создалКак проверить, является ли целое число в массиве?

int[] Numbers = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; 

То, что я хотел бы сделать, это небольшой скрипт, который может проверить, является ли число в массиве и возвращает логическое значение, например, 3 будет возвращена истина, и 13 будет возвращать ложь в противном случае единственным способом я могу думать это

if ((UserInput == Numbers[0]) || (UserInput == Numbers[1]) || (UserInput == Numbers[2]) || (UserInput == Numbers[3])) 
+2

Number.Contains (UserInput) , Написание кода включает в себя также поиск и обучение – Steve

+3

_ «Единственный способ, которым я могу думать». _ Вам нужно как можно меньше узнать о конструкциях циклов, но для этого есть и сокращенные методы. –

+1

Я удивлен, что никто не может найти дубликат. –

ответ

2

Вы можете использовать метод расширения LINQ Contains:

bool containsNumber = Numbers.Contains(UserInput); 

Если UserInput является string, вы должны разобрать его первый:

int i; 
if (int.TryParse(UserInput, out i)) // parse the string, and put it in i 
{ 
    bool containsNumber = Numbers.Contains(i); 
} 
else 
{ 
    // report to user the input is wrong 
} 

Если вы хотите сделать Contains проверку вручную, вы можете использовать это:

bool containsNumber = false; 

foreach (int n in Numbers) // go over every number in the list 
{ 
    if (n == UserInput) // check if it matches 
    { 
     containsNumber = true; 
     break; // no need to check any further 
    } 
} 
Смежные вопросы