C# - 循环让我的应用无法正常工作

时间:2017-06-23 06:45:27

标签: c# loops switch-statement

我有这个应用程序,我只是出于练习目的用C#编写,这是代码,

using System;

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

        int qty, index;
        string name, location, code;

        Item item = new Item();
        ConsoleKeyInfo opt;
        do
        {
            Console.Clear();
            Console.WriteLine();
            Console.WriteLine("******************** STOCK CONTROL SOFTWARE *********************");
            Console.WriteLine();
            Console.WriteLine();
            Console.WriteLine();
            Console.WriteLine("Chose a option:");
            Console.WriteLine("1 - Add item.");
            Console.WriteLine("2 - View Stock.");
            Console.WriteLine("3 - Remove item.");
            Console.WriteLine("4 - Press 'Escape' to exit.");

            opt = Console.ReadKey(true);

            switch (opt.KeyChar.ToString())
            {
                case "1":
                    Console.WriteLine();
                    Console.Write("Enter the item code:");
                    code = Console.ReadLine();
                    Console.Write("Enter the item quantity:");
                    qty = Convert.ToInt32(Console.ReadLine());
                    Console.Write("Enter the item name:");
                    name = Console.ReadLine();
                    Console.Write("Enter the item location:");
                    location = Console.ReadLine();

                    item.add(code, qty, name, location);
                    break;
                case "2":
                    Console.WriteLine("teste");
                    //item.view();
                    break;
                case "3":
                    Console.WriteLine();
                    Console.WriteLine("Enter the index of the item to be removed:");
                    index = Int32.Parse(Console.ReadLine());
                    item.remove(index);
                    break;
            }
        } while (opt.Key != ConsoleKey.Escape);
    }
  }
}

它工作正常,但由于某种原因,当我缠绕循环时,switch语句中的第二种情况停止工作,一旦我删除循环一切正常。我无法弄清楚什么是错的。

有人可以帮我吗?

感谢。

1 个答案:

答案 0 :(得分:0)

它的工作原理还可以,但是当你添加循环时,你会在{2}中执行Console.WriteLine("teste"); item.view();,然后立即重新启动=清除控制台,这样你就什么都看不见了。