我试图将?
运算符放在我的代码中,而不是通常的/ else
但是无论是对还是错,它都能给我相同的结果?
int student_grade;
Console.WriteLine("enter the grade:");
student_grade = Console.Read();
Console.WriteLine((student_grade >= 60) ? "passed" :"failed");
答案 0 :(得分:2)
Console.Read返回输入中第一个字符的ASCII值。尝试使用字母“ A”作为输入的代码-结果将“通过”,因为“ A”的ASCII值为65。恰好数字0-9的ASCII值分别为48-57;您的代码比较为60,因此结果始终相同。
在输入后进行转换将无法进行;您需要使用Console.ReadLine()
,并将输入解析为int