C# C-检查输入是否为int

C# C-检查输入是否为int,c#,C#,我已经看了这个问题的线索。但我不明白怎么了。 答案一是用户输入 var answerOne = Console.Read(); string x = answerOne; if (int.TryParse(x, out answerOne)) { Console.WriteLine("ok good"); } 错误:无法将类型“int”转换为“string”TryParse要求第二个参数为int,而不是

我已经看了这个问题的线索。但我不明白怎么了。 答案一是用户输入

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


        if (int.TryParse(x, out answerOne))
        {
            Console.WriteLine("ok good");
        }
错误:无法将类型“int”转换为“string”

TryParse要求第二个参数为int,而不是字符串:

另外,如果您想将字符串作为输入,应该使用Console.ReadLine方法。因为只读读取一个字符,并返回int。

TryParse希望第二个参数为int,而不是字符串:

另外,如果您想将字符串作为输入,应该使用Console.ReadLine方法。因为Read only读取一个字符,并返回int。

您正在解析int,所以传递到TryParse的out变量需要是int类型

您正在分析一个int,因此传递到TryParse的out变量需要是int类型

Read返回一个int而不是字符串。我猜你在找Console.ReadLine

Read返回一个int而不是字符串。我猜你在找Console.ReadLine


answerOne是一个字符串,int try parse需要out参数为int…当然,answerOne必须是int?文档是您最好的朋友。哪条线断了?string x=answerOne或ifint.TryParse?answerOne是字符串,int try parse需要out参数为int…answerOne必须为int,当然?文档是您最好的朋友。哪条线断了?字符串x=answerOne或ifint.TryParse?为了清楚起见,示例中的answerOne实际上是int控制台。Read将返回int。因此,错误将在TryParse前面的行上抛出,从而使赋值字符串x=answerOne。但是,我几乎可以肯定OP希望使用Console.ReadLine,这将导致此解决方案解决的问题。我想澄清一下,示例中的answerOne实际上是int Console。Read将返回int。因此,错误将在TryParse之前的行上抛出,从而使赋值字符串x=answerOne。但是,我几乎可以肯定OP希望使用Console.ReadLine,这将导致此解决方案解决的问题。
int result;
if (int.TryParse(answerOne, out result))
{
    Console.WriteLine("ok good");
}
int answer;
int.TryParse(x, out answer)
var line = Console.ReadLine();
int answerOne;
if (int.TryParse(line , out answerOne))
{
    Console.WriteLine("ok good");
}