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