如果声明使用数字和&&不管用。 C#

时间:2012-11-12 11:33:11

标签: c# if-statement

我写了这个并且它不起作用,我出错的任何想法?是的,我是编程新手。在此先感谢您的任何建议。

if ((int.Parse(Console.ReadLine()) < 10) && (int.Parse(Console.ReadLine()) > 0))
    Console.WriteLine("The right number!!");
else
    Console.WriteLine("The wrong number!!");

Console.ReadLine();

3 个答案:

答案 0 :(得分:5)

它没有像您期望的那样工作,因为写入if语句的方式是期望从控制台读取2行文本(因为您已经使用了Console.ReadLine())两次。

您应该首先将输入值分配给变量

然后可以在if语句中使用两次,如下所示:

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

if(inputNumber < 10 && inputNumber > 0)
{
    Console.WriteLine("The right number!!");
}
else
{
    Console.WriteLine("The wrong number!!");
}

答案 1 :(得分:3)

如果您只想阅读1个输入,请尝试以下操作:

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

if (number > 0 && number < 10) {
    Console.WriteLine("The right number!!");
} else {
    Console.WriteLine("The wrong number!!");
}

Console.ReadLine();

这是因为在您的示例中,只有Console.ReadLine(),您的代码才会要求输入。

答案 2 :(得分:2)

你为什么不这样做:

var input = Console.ReadLine();
int number;

if (int.TryParse(input, out number))
{
    if (number > 0 && number < 10)
        Console.WriteLine("The right number!!");
    else
        Console.WriteLine("The wrong number!!");
}

int.TryParse语句中使用if以确保在获得正确的整数输入后输入。