我开发的C#控制台基础应用。在用户提示输入整数时,用户只需输入整数,当用户提示输入字符串时,他只能输入字符串。请帮帮我。
在此先感谢和问候。
我开发的C#控制台基础应用。在用户提示输入整数时,用户只需输入整数,当用户提示输入字符串时,他只能输入字符串。请帮帮我。
在此先感谢和问候。
像
int i;
while (true)
{
var line = Console.ReadLine();
if (int.TryParse(line, out i))
break;
Console.WriteLine("Invalid number");
}
对于整数检查,可以使用由maxlego提到int.TryParse()。或者你可以使用“try ... catch”块,尽管我没有看到这样做的理由。
对于字符串的情况下,我不知道你的意思是“他只能键入字符串”。虽然技术上无论什么“他”类型都是字符串,但我会假设你打算过滤掉数字,例如“J0hns0n”不是一个有效的姓氏:你可以通过检查每个字符的ASCII码来做到这一点。以下是MSDN关于将字符串拆分为字符数组的文档:http://msdn.microsoft.com/en-us/library/b873y76a.aspx,这里是ASCII表格:http://www.asciitable.com/您可以从字符串中筛选出例如48-57(即数字0〜9)。