无论用户输入如何,switch 语句都恢复为默认值?

switch statement reverting to default regardless of user input?

我想让程序做的是要求用户输入,输入数字 1-7,然后吐出正确的 WriteLine 语句。一切都编译得很好,但无论我输入什么数字,我都会得到默认的 WriteLine 选项。我哪里错了?

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace week4discussion
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Enter a number: ");
            int userInput = Console.Read();

            switch (userInput) {
                case 1:
                    Console.WriteLine("Your selected course is IT 145");
                    break;
                case 2:
                    Console.WriteLine("Your selected course is IT 200");
                    break;
                case 3:
                    Console.WriteLine("Your selected course is IT 201");
                    break;
                case 4:
                    Console.WriteLine("Your selected course is IT 270");
                    break;
                case 5:
                    Console.WriteLine("Your selected course is IT 315");
                    break;
                case 6:
                    Console.WriteLine("Your selected course is IT 328");
                    break;
                case 7:
                    Console.WriteLine("Your selected course is IT 330");
                    break;
                default:
                    Console.WriteLine("Please enter a number 1-7");
                    break;

            }
        }
    }
}

你需要这个:

 int userInput = Convert.ToInt32(Console.ReadLine());