如何使用 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;
}
我是一名正在学习 .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;
}