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

namespace LearningKeys
 {
class Program
{
    static void Main(string[] args)
    {       

       while (true)
            {     

            ConsoleKeyInfo Menu;
            Menu = Console.ReadKey(true);



            Console.WriteLine("1. Pick Item");
            Console.WriteLine("2. Display all Items");
            Console.WriteLine("3. Pick Special Item");
            Console.WriteLine("4. Quit");




            if (Menu.Key == ConsoleKey.Backspace)
            {
                Console.WriteLine("1. Pick Item");
                Console.WriteLine("2. Display all Items");
                Console.WriteLine("3. Pick Special Item");
                Console.WriteLine("4. Quit");


            }

            ConsoleKeyInfo DisplayAllItems;
            DisplayAllItems = Console.ReadKey(true);

           if (DisplayAllItems.Key == ConsoleKey.D1)
            {
                Console.WriteLine("1. Mushrooms \n2. Sword \n3.Boots"); 



            }


            Console.Read();

            break;

            }
     }
   }
}

こんにちは、ConsoleKeyInfo 変数をその上に置くと、上位 4 つの Console.WriteLine が消えるのはなぜだろうと思っていました。または、複数の Consolekey が割り当てられている場合、プログラムが機能しないのはなぜですか? Console.ReadKey(); が原因だと確信しています。しかし、他に何を使用すればよいかわかりません。私はConsoleKeysを学んでいます。

4

1 に答える 1

3

Console.ReadKey がブロックされているということは、キーを押すまでプログラムがハングすることを意味します。プログラムがキーを待っているため、書き込み行が表示されません

ConsoleKeyInfo 変数の数とは関係ありません。

于 2012-11-08T03:42:52.277 に答える