如果否则法令不起作用

The*_*Guy 1 c# if-statement

嗨我的If语句由于某种原因不能工作我希望它说无效如果用户低于0或超过100但我输入的每个数字直接到我的else语句甚至没有注意到我的if语句.

我究竟做错了什么?

        g:
        Console.WriteLine("Enter Grade: ");
        int grade = Convert.ToInt32(Console.Read());
        if (grade < 0 || grade > 100)
        {
            Console.WriteLine("Input Valid");
            Console.ReadLine();
        }
        else
        {
            Console.WriteLine("Input invalid");
            Console.ReadLine();
        }
        goto g;
Run Code Online (Sandbox Code Playgroud)

Mar*_*zek 7

if/ else这里不是问题.你从用户那里得到输入的方式是.

使用Console.ReadLine()而不是Console.Read():

int grade = Convert.ToInt32(Console.ReadLine());
Run Code Online (Sandbox Code Playgroud)

Console.Read 从控制台返回第一个字符的数字表示(ACII代码),而不是您自己键入的数字.