控制台应用输入和输出

时间:2016-04-13 03:34:17

标签: c# asp.net linq

这是我简单的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());          
    }
}
}

3 个答案:

答案 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();