Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/338.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何检查数组中是否有整数?_C# - Fatal编程技术网

C# 如何检查数组中是否有整数?

C# 如何检查数组中是否有整数?,c#,C#,这是我创建的代码的一个示例 int[] Numbers = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; 我想做的是一个小脚本,它可以检查数组中是否有数字,并返回一个布尔值,例如3将返回true,13将返回false,否则我唯一能想到的方法是 if ((UserInput == Numbers[0]) || (UserInput == Numbers[1]) || (UserInput == Numbers[2]) || (UserInput == Numbers[3]))

这是我创建的代码的一个示例

int[] Numbers = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
我想做的是一个小脚本,它可以检查数组中是否有数字,并返回一个布尔值,例如3将返回true,13将返回false,否则我唯一能想到的方法是

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

您可以使用LINQ扩展方法:

如果
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
}
如果您想手动执行
包含
检查,可以使用以下方法:

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
    }
}

Number.Contains(用户输入)。编写代码还包括搜索和学习“我能想到的唯一方法”,您至少需要去学习循环构造,但也有速记方法可用于此。我很惊讶没有人能找到重复的。如果您懒得声明数字。。。如果({1,2,3,4,5,6,7,8,9,10}.Contains(UserInput)){//do Something}
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
    }
}
bool containsNumber = Numbers.Contains(13);