我有以下代碼:驗證用戶輸入的C#(控制檯)
aVariable = int.Parse(Console.ReadLine());
一個問題我已經是我無法找到任何支持材料,以幫助驗證用戶的輸入,例如,如果用戶按下字母a ,這隻會殺死程序。
我該怎麼辦?我在哪裏可以找到一個體面的教程?
我有以下代碼:驗證用戶輸入的C#(控制檯)
aVariable = int.Parse(Console.ReadLine());
一個問題我已經是我無法找到任何支持材料,以幫助驗證用戶的輸入,例如,如果用戶按下字母a ,這隻會殺死程序。
我該怎麼辦?我在哪裏可以找到一個體面的教程?
int.Parse在無法解析字符串時拋出FormatException。您可以捕獲此異常並處理它,例如顯示錯誤消息。
的另一種方法是使用的TryParse:
int number = 0;
bool result = Int32.TryParse(value, out number);
if (result)
{
Console.WriteLine("Converted '{0}' to {1}.", value, number);
}
而不是使用Parse
方法使用TryParse
來代替。
int age;
bool isValidInt = int.TryParse(Console.ReadLine(), out age);
您可以使用TryParse作爲此..只是谷歌這種方法。或者你可以趕上例外,以防止你的程序崩潰
改爲使用Int32.TryParse
並測試成功的演員。
Int32 val;
if (Int32.TryParse(userInput, out val))
{
// val is now the user input as an integer
}
else
{
// bad user input
}
驗證用戶輸入是一個控制檯應用程序沒有不同於它是在一個Winforms應用程序。這與驗證ASP.NET應用程序中的用戶輸入非常相似,只是您沒有很好的驗證控件。
如果您來自ASP.NET背景,請查看人們使用CustomValidators的方式 - 注意代碼隱藏並忽略客戶端驗證。
此外,您可以像使用ASP.NET應用程序一樣輕鬆地在控制檯應用程序中使用RegularExpressions。
控制檯應用程序未特別提及驗證的原因可能是驗證輸入是驗證輸入。這些方法幾乎無處不在。與ASP.NET相比,唯一的區別是自定義控件的存在可以幫助您做到這一點。
你可以使用TryParse作爲這個..只是谷歌這種方法。或者你可以趕上例外,以防止你的程序崩潰 – Rob
@Rob你應該回答與您的評論的問題。你是對的。 –
很多憤怒的今天,所以我嘗試了第一次評論之前得到-100票lol – Rob