C# - 检查输入是否为int

时间:2015-01-06 10:05:18

标签: c#

我已经看过这个问题的主题了。但我无法理解错误。 answerOne是用户输入。

var answerOne = Console.Read();
        string x = answerOne;


        if (int.TryParse(x, out answerOne))
        {
            Console.WriteLine("ok good");
        }

错误:无法转换类型' int'到'字符串'

3 个答案:

答案 0 :(得分:3)

TryParse要求int为其第二个参数,而不是string

int result;
if (int.TryParse(answerOne, out result))
{
    Console.WriteLine("ok good");
}

此外,如果您想要string作为输入,则应使用Console.ReadLine方法。因为Read只读取一个char,然后返回int

答案 1 :(得分:2)

Console.Read会返回int而不是string。我想你正在寻找Console.ReadLine

var line = Console.ReadLine();
int answerOne;
if (int.TryParse(line , out answerOne))
{
    Console.WriteLine("ok good");
}

答案 2 :(得分:0)

您正在解析int,因此传递到out的{​​{1}}变量必须属于TryParse

类型
int