C# proste dema: menu konsolowe

using System;

namespace ConsoleMenu
{
    class KontrolerWejscia
    {
        private void czekajNaDowolnyKlawisz()
        {
            Console.Write("\nNaciśnij dowolny klawisz by powrócić do menu....");
            Console.ReadKey(true);
        }
        private void pokazMenu()
        {
            Console.Write("\nWybierz akcję:\n1. Pierwsza\n2. Druga\n3. Trzecia\nESC Koniec\n>> ");
        }
        private void opcjaPierwsza()
        {
            Console.Clear();
            // Tu obsługa opcji pierwszej...
            czekajNaDowolnyKlawisz();
        }
        private void opcjaDruga()
        {
            Console.Clear();
            // Tu obsługa opcji drugiej...
            czekajNaDowolnyKlawisz();
        }
        private void opcjaTrzecia()
        {
            Console.Clear();
            // Tu obsługa opcji trzeciej...
            czekajNaDowolnyKlawisz();
        }
        public void dzialaj()
        {
            ConsoleKeyInfo info;
            for (; ; )
            {
                Console.Clear();
                pokazMenu();
                info = Console.ReadKey();
                if (info.Key == ConsoleKey.Escape)
                    break;
                switch (info.Key)
                {
                    case ConsoleKey.D1:
                        opcjaPierwsza();
                        break;
                    case ConsoleKey.D2:
                        opcjaDruga();
                        break;
                    case ConsoleKey.D3:
                        opcjaTrzecia();
                        break;
                }
            }
        }
    }
    class Program
    {
        static void Main(string[] args)
        {
            KontrolerWejscia kontroler = new KontrolerWejscia();
            kontroler.dzialaj();
        }
    }
}