2011-11-06 118 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)。