如何使用 console.readline() 读取整数?

How to read an integer using console.readline()?

我是一名正在学习 .NET 的初学者。

我尝试在控制台读取行中解析我的整数,但它显示格式异常。

我的代码:

using System;
namespace inputoutput
{
    class Program
    {        
        static void Main()
        {
            string firstname;
            string lastname;
         // int age = int.Parse(Console.ReadLine());
            int age = Convert.ToInt32(Console.ReadLine());
            firstname = Console.ReadLine();
            lastname=Console.ReadLine();
            Console.WriteLine("hello your firstname is {0} Your lastname is {1} Age: {2}",
                firstname, lastname, age);
        }
    }
}

您的代码完全正确,但您的输入可能不是整数,因此您收到了错误。 尝试使用 try catch 块中的转换代码或使用 int.TryParse 代替。

您可以将数字输入字符串转换为整数(您的代码是正确的):

int age = Convert.ToInt32(Console.ReadLine());

如果您要处理文本输入,试试这个:

int.TryParse(Console.ReadLine(), out var age);

如果它抛出格式异常,则意味着输入无法解析为 int。您可以使用 int.TryParse() 之类的东西更有效地检查这一点。例如:

int age = 0;
string ageInput = Console.ReadLine();
if (!int.TryParse(ageInput, out age))
{
    // Parsing failed, handle the error however you like
}
// If parsing failed, age will still be 0 here.
// If it succeeded, age will be the expected int value.

您可以像这样处理整数以外的无效格式;

        int age;
        string ageStr = Console.ReadLine();
        if (!int.TryParse(ageStr, out age))
        {
            Console.WriteLine("Please enter valid input for age ! ");
            return;
        }