在C#控制台基础应用程序中检查输入有效性

时间:2011-11-06 17:43:08

标签: c#

  

可能重复:
  How can I validate console input as integers?

我正在用C#开发一个控制台基础应用程序。我希望当用户提示输入整数时,用户只能输入整数,当用户提示输入字符串时,他只能输入字符串。请帮帮我。

提前致谢并致谢。

2 个答案:

答案 0 :(得分:1)

类似

int i;
while (true)
{
  var line = Console.ReadLine();
  if (int.TryParse(line, out i))
    break;
  Console.WriteLine("Invalid number");
}

答案 1 :(得分:0)

对于整数检查,您可以使用maxlego提到的int.TryParse()。或者你可以使用“try ... catch”块,虽然我没有理由这样做。

对于字符串的情况,我不确定你的意思是“他只能输入字符串”。虽然技术上无论“he”类型是什么字符串都是字符串,但我会假设您要过滤掉数字,这样“J0hns0n”不是有效的姓氏:您可以通过检查每个字符的ASCII代码来完成此操作。以下是MSDN关于将字符串拆分为字符数组的文档:http://msdn.microsoft.com/en-us/library/b873y76a.aspx这里是ASCII表:http://www.asciitable.com/您可以过滤掉,例如,48-57(即数字0~9)来自一个字符串。