Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/309.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# 检查字符串是否包含int_C# - Fatal编程技术网

C# 检查字符串是否包含int

C# 检查字符串是否包含int,c#,C#,我正在尝试检查名称是否包含int,但无论我做什么,我似乎都无法获得我要查找的输出 我输入了以下3个输出,这些是我得到的结果: [输入:“John2”|输出:“请输入不带数字的名称”] [输入:“John”|输出:“请输入不带数字的名称”] [输入:9 |输出:“欢迎9!”] 通过更改bool checkIfInt=name.Any(Char.IsDigit)进行修复,然后我将其放入if语句中,但将其设置为false,如下所示: public static void nameAsk() {

我正在尝试检查名称是否包含int,但无论我做什么,我似乎都无法获得我要查找的输出

我输入了以下3个输出,这些是我得到的结果:

[输入:“John2”|输出:“请输入不带数字的名称”]

[输入:“John”|输出:“请输入不带数字的名称”]

[输入:9 |输出:“欢迎9!”]

通过更改bool checkIfInt=name.Any(Char.IsDigit)进行修复,然后我将其放入if语句中,但将其设置为false,如下所示:

public static void nameAsk()
    {
        bool check = true;

        while (check)
        {
            Console.WriteLine("What is your name?");
            string name = Console.ReadLine();
            int userName;

            bool checkIfInt = int.TryParse(name, out userName);

            if (checkIfInt)
            {
                Console.WriteLine("Welcome " + name + "!");
                break;
            }
            else
            {
                Console.WriteLine("Please enter a name without numbers");
            }
        }
    }

int.ParseInt
仅当
name
int
且没有其他字符时才会通过

您可以使用LINQ使用
Any
检查字符串中的任何位置是否包含数字:

bool checkIfInt = name.Any(Char.IsDigit);

if (!checkIfInt)
{
  Console.WriteLine("Welcome " + name + "!");
  break;
}
else
{
   Console.WriteLine("Please enter a name without numbers");
}
}

如果
John2
失败是因为它包含
int
,还是应该通过,因为它不完全是
int
?可能重复或@dasblinkenlight,它应该失败是因为它包含一个intI,只是设置了bool var=name.Any(Char.IsDigit)),我必须使var等于false,以获得我在输出中寻找的内容,它现在可以工作了,谢谢!!
if (name.Any(Char.IsDigit)) {
    ...
}