2011-11-06 265 views

回答

1

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

对于整数检查,可以使用由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)。