Console.ReadKey (); и оператор Switch - с использованием букв

Я пытаюсь создать программу на C #, которая в основном работает на основе клавиши, которую нажимает пользователь (например, X = Quit, D = Disconnect и т. д .; ) с помощью Console.ReadKey (); в C #

Проблема, с которой я столкнулся, заключается в том, как использовать информацию ReadKey в операторе Switch. Кто-нибудь может помочь, пожалуйста? Код ниже.

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

namespace Switch_Test
{
    class Program
    {
        static void Main()
        {
            Console.WriteLine("Welcome. Please enter your command: ");
            string chinput;
            int input;
            bool activated = false;
            input = Console.ReadKey();
            chinput = Convert.ToChar(input);
            switch (chinput)
            {
                case 'x':
                    {
                        Console.WriteLine("You pressed x...");
                        break;
                    }
                case 'y':
                    {
                        Console.WriteLine("You pressed y..");
                        break;
                    }
                case 'd':
                    {
                        if (activated != true)
                        {
                            Console.WriteLine("Please activate first!");
                            break;
                        }
                        else
                        {
                            Console.WriteLine("Active..");
                            break;
                        }
                    }
                case 'a':
                    {
                        if (activated != true)
                        {
                            activated = true;
                            Console.WriteLine("Activating..");
                            break;
                        }
                        else
                        {
                            activated = false;
                            Console.WriteLine("Deactivating.");
                            break;
                        }
                    }
                default:
                    Console.WriteLine("Unknown Command.");
                    break;
            }


        }
    }
}

Я знаю, что, вероятно, это действительно неправильно, но изначально я начал с Console.ReadLine (); , единственная разница в том, что я хочу, чтобы он активировал функцию, когда вы нажимаете одну клавишу, вместо того, чтобы нажимать ввод или вводить разные клавиши. Заранее спасибо!

10
задан CSharpNewGuy 8 August 2011 в 23:04
поделиться