我是一名正在学习.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);
}
}
}
答案 0 :(得分:1)
如果它抛出格式异常,则表示输入无法解析为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.
答案 1 :(得分:0)
您的代码绝对正确,但您的输入可能不是整数,因此您收到错误。 尝试在try catch块中使用转换代码或使用int.TryParse。
答案 2 :(得分:0)
您可以处理除此类之外的无效格式;
int age;
string ageStr = Console.ReadLine();
if (!int.TryParse(ageStr, out age))
{
Console.WriteLine("Please enter valid input for age ! ");
return;
}
答案 3 :(得分:0)
Console.WriteLine("Enter number ");
int day = int.Parse(Console.ReadLine());
答案 4 :(得分:-1)
您可以将数字输入字符串转换为整数(您的代码是正确的):
int age = Convert.ToInt32(Console.ReadLine());
如果您要处理文本输入,请尝试:
int.TryParse(Console.ReadLine(), out var age);