这是我创建的代码的一个例子
int[] Numbers = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
我想要做的是一个小脚本,可以检查一个数字是否在数组中并返回一个布尔值,例如3将返回true而13将返回false否则我能想到的唯一方法就是这个< / p>
if ((UserInput == Numbers[0]) || (UserInput == Numbers[1]) || (UserInput == Numbers[2]) || (UserInput == Numbers[3]))
答案 0 :(得分: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
}
}
答案 1 :(得分:1)
bool containsNumber = Numbers.Contains(13);