这是我简单的C#控制台应用程序,我将从用户获得输入我有邮政编码变量,其中我想将输入作为整数,但当我输入整数时,它显示错误。另一个approch是console.readline将int和string作为输入吗?
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
string firstname;
string lastname;
string birthdate;
string addressline1;
string adressline2;
string city;
string stateorprovince;
int ziporpostalcode;
string country;
ziporpostalcode =int.Parse(Console.ReadLine());
}
}
}
答案 0 :(得分:2)
您应该使用
int.TryParse
代替int.Parse
,这是。{ 负责将数字的字符串表示转换为它 32位有符号整数等价物。返回值表示是否 操作成功,否则返回false(转换失败)
所以你的代码可能如下所示:
int ziporpostalcode;
if (int.TryParse(Console.ReadLine(), out ziporpostalcode))
{
Console.WriteLine("Thank you for entering Correct ZipCode");
// now ziporpostalcode will contains the required value
// Proceed with the value
}
else {
Console.WriteLine("invalid zipCode");
}
Console.ReadKey();
答案 1 :(得分:0)
建议的方式。
使用int.TryParse
验证您对int
的输入。
var input =int.Parse(Console.ReadLine());
if(int.TryParse(input, out ziporpostalcode )
{
// you have int zipcode here
}
else
{
// show error.
}
答案 2 :(得分:0)
Console.WriteLine("Enter Zip Code");
try
{
ziporpostalcode = int.Parse(Console.ReadLine());
Console.WriteLine("You Enter {0}", ziporpostalcode);
}
catch (Exception) {
Console.WriteLine("Error Occured, Enter only Number");
}
Console.ReadLine();