无法将类型'string'隐式转换为'int

时间:2014-07-04 15:07:40

标签: c# string

我正在尝试编写程序,我希望程序能够读取一行。

它给了我这个错误

  

无法隐式转换类型'字符串'到' int

如何将字符串转换为int?这是该程序发出错误的一部分。

class engineering : faculty
{
    public engineering()    \\constructor
    {
    }
    public int maths_grade;

    public override void fill_form()
    {
        Console.WriteLine("Insert Maths Grades: ");
        int maths_grade = Console.ReadLine();
    }
}

2 个答案:

答案 0 :(得分:0)

您应该使用:

int maths_grade = int.Parse(Console.ReadLine());

因为ReadLine返回string,所以您需要解析它以获得int。但是,如果获胜的行不包含有效的字符串(数字),则会抛出异常。您可以使用TryParse版本

更好地检查这一点
string line = Console.ReadLine();
int maths_grade;
if (!int.TryParse(line, out maths_grade))
{
    // Do some kind of error handling
}

答案 1 :(得分:0)

尝试

int mathsGrade;
if (int.TryParse(Console.ReadLine(), out mathsGrade))
{
     //Do something with grade
}
else
{
     //Do something to warn of invalid input.
}