?运算符无法正常运行,而不是if / else

时间:2019-02-27 17:17:53

标签: c#

我试图将?运算符放在我的代码中,而不是通常的/ else 但是无论是对还是错,它都能给我相同的结果?

int student_grade;
Console.WriteLine("enter the grade:");
student_grade = Console.Read();

Console.WriteLine((student_grade >= 60) ? "passed" :"failed");

1 个答案:

答案 0 :(得分:2)

Console.Read返回输入中第一个字符的ASCII值。尝试使用字母“ A”作为输入的代码-结果将“通过”,因为“ A”的ASCII值为65。恰好数字0-9的ASCII值分别为48-57;您的代码比较为60,因此结果始终相同。

在输入后进行转换将无法进行;您需要使用Console.ReadLine(),并将输入解析为int