gpt4 book ai didi

c# - 字符串字母验证

转载 作者:太空宇宙 更新时间:2023-11-03 20:28:31 24 4
gpt4 key购买 nike

我对字符串和整数感到困惑。并且无法验证没有数字和奇怪字符的名称。 a-z 和 A-Z 都可以。我了解 do while 循环和哨兵的使用。我在这里看到了正则表达式,但由于我不知道的某些原因,它在我的代码中不起作用。我宁愿选择一个我能理解的简单解决方案。我在代码中对 int 进行了验证,效果很好,但验证名称时会出现 bool 和 int 错误。

    static void Main(string[] args)
{
int age;
double mileage;
string strInput, name;
bool isValid;

DisplayApplicationInformation();

DisplayDivider("Start Program");
Console.WriteLine();

DisplayDivider("Get Name");
strInput = GetInput("your name");
name = strInput;
Console.WriteLine("Your name is: " + name);
Console.WriteLine();

do
{
DisplayDivider("Get Age");
strInput = GetInput("your age");
isValid = int.TryParse(strInput, out age);
if (!isValid || (age <= 0))
{
isValid = false;
Console.WriteLine("'" + strInput + "' is not a valid age entry. Please retry...");
}
}while (!isValid);
Console.WriteLine("Your age is: " + age);
//age = int.Parse(strInput);
//Console.WriteLine("Your age is: " + age);
Console.WriteLine();

do
{
DisplayDivider("Get Mileage");
strInput = GetInput("gas mileage");
isValid = double.TryParse(strInput, out mileage);
if (!isValid || (mileage <= 0))
{
isValid = false;
Console.WriteLine("'" + strInput + "' is not a valid mileage entry. Please retry...");
}
} while (!isValid);
Console.WriteLine("Your age is: " + mileage);
//mileage = double.Parse(strInput);
//Console.WriteLine("Your car MPT is: " + mileage);

TerminateApplication();
}

最佳答案

尽管我建议您使用简单的正则表达式,但您指出您需要不同的解决方案。

看看this question ,第一个答案是正则表达式解决方案,但 second answer可能会回答您的问题:

bool result = input.All(Char.IsLetter);

正如 Chris Lively 所指出的,如果您在名称中允许有一个空格,那么您可以使用以下方式进行验证:

bool result = input.Replace(" ", "").All(Char.IsLetter);

关于c# - 字符串字母验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8945404/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com