C# 导致项目名称而不是枚举类型的输出?

C# 导致项目名称而不是枚举类型的输出?,c#,C#,我试图让用户从枚举列表中进行选择,然后使用开关根据输入获取输出 在这种情况下,使用enum最有效的方法是什么 namespace enum_assignment { class Program { enum transportation { Car = 20, Cab = 10, Bus = 5, Bicycle = 3, }; static void Main(string[] args) {

我试图让用户从枚举列表中进行选择,然后使用开关根据输入获取输出

在这种情况下,使用enum最有效的方法是什么

namespace enum_assignment
{
   class Program
  {
    enum transportation
    { Car = 20,
      Cab = 10,
      Bus = 5,
      Bicycle = 3,
    };

    static void Main(string[] args)
    {
        Console.WriteLine("Welcome to Kelvin Transit Center");
        Console.WriteLine();

        Type enumType;
        enumType = typeof(transportation);

        Console.WriteLine("Available transit methods:{0}", Environment.NewLine);
        foreach (int value in Enum.GetValues(enumType))
        Console.WriteLine("{0}:{1} dollars", Enum.GetName(enumType, value), value);

        Console.WriteLine("Please enter your method of transporatation: Car,Bus,Cab,Bicycle");
        Console.ReadLine();


        transportation defaultMthd = transportation.Bicycle;
        foreach (int value in Enum.GetValues(enumType))

        switch(defaultMthd)
        {
            case transportation.Bicycle:
            Console.WriteLine("Thank you for choosing {0},it is {1} every hour.",enumType, value);
            break;

            case transportation.Bus:
            Console.WriteLine("Thank you for choosing {0},it is {1} every hour.",enumType, value);
            break;

            case transportation.Cab:
            Console.WriteLine("Thank you for choosing {0},it is {1} every hour.",enumType, value);
            break;

            case transportation.Car:
            Console.WriteLine("Thank you for choosing {0},it is {1} every hour.",enumType, value);
            break;
        }
    Console.WriteLine();
    Console.ReadKey();

    }
}

}您需要阅读用户的输入:

var userInput = Console.ReadLine();
然后对其进行分析以获得所选的方法:

transportation method = (transportation)Enum.Parse(enumType, userInput);
然后在打印时,再次打印用户输入:

Console.WriteLine("Thank you for choosing {0},it is {1} every hour.", userInput, value);

一旦你有这个工作,你可能会发现程序崩溃,如果用户输入一个无效的输入。在这种情况下,你会想看看。我将把其余的留给您解决。

此代码面临什么问题?你试过调试代码吗?您要求用户输入运输方式,但您没有将用户输入的值保存在任何地方…您没有使用从
控制台获得的值。ReadLine
还请注意,您的开关根本不起任何作用,因为在任何情况下,您都执行完全相同的代码,并不是说它解决了您的问题,而是如果您删除整个开关块并用Console.WriteLine替换它,删除大量代码可以帮助您自己找到问题(“感谢您选择{0},它是每小时{1}”,enumType,value);然后你会得到和现在一样的东西