验证用户输入c#(控制台)
本文关键字:控制台 用户 输入 验证 | 更新日期: 2023-09-27 18:11:04
我有以下代码:
aVariable = int.Parse(Console.ReadLine());
我遇到的一个问题是,我找不到任何支持材料来帮助验证用户输入,例如,如果用户按下字母a,这将直接终止程序。
我能做什么?我在哪里可以找到一个像样的教程?
用TryParse
代替Parse
方法。
int age;
bool isValidInt = int.TryParse(Console.ReadLine(), out age);
你可以使用TryParse。谷歌一下就知道了。或者您可以捕获异常以防止程序崩溃
int。当无法解析字符串时,Parse抛出FormatException。你可以捕获这个异常并处理它,例如显示一个错误消息。
另一种方法是使用TryParse:int number = 0;
bool result = Int32.TryParse(value, out number);
if (result)
{
Console.WriteLine("Converted '{0}' to {1}.", value, number);
}
在控制台应用程序中验证用户输入与在Winforms应用程序中验证用户输入没有什么不同。它也非常类似于在ASP中验证用户输入。. NET应用程序,除了你没有很好的验证控件。
如果你来自ASP。. NET背景看看人们是如何使用CustomValidators的——注意代码背后,忽略客户端验证。
此外,你可以在控制台应用程序中使用正则表达式,就像在ASP中一样简单。网应用。
可能验证没有特别提到控制台应用程序的原因是输入的验证就是输入的验证。方法几乎在任何地方都是一样的。与ASP的唯一区别。
使用Int32.TryParse
代替,并测试是否成功。
Int32 val;
if (Int32.TryParse(userInput, out val))
{
// val is now the user input as an integer
}
else
{
// bad user input
}