使用用户inputC#删除特定索引

时间:2016-02-12 16:50:50

标签: if-statement input while-loop

我正在尝试让用户输入指定应从列表中删除的索引。

他们在对象上获得一个带有ID的列表,然后输入他们不想删除的对象的ID。书面ID从1开始,但实际上是0;所以当用户输入1时,它将被更改为0.

我也是这样做的,所以他们不能选择索引范围之外的输入。我让它工作了一段时间,但后来我想不允许用户输入空白,这就是我的代码出错了。

在我开始编辑它之前,我已将其恢复到了一定程度,但我似乎无法找到错误的内容!

public static void menuLISTA()
    {
        menuTEXT.WriteFullLine("-Din Digitalgarderobs innehåll-");
        Console.WriteLine("===============================================================");
        if (newklädDataList.Count == 0)
        {
            Console.WriteLine();
            Console.WriteLine("Din digitalgarderob är tom!");
            Console.WriteLine();
            Console.WriteLine("===============================================================");
            Console.WriteLine("Tryck [Enter] för att fortsätta."); Console.ReadKey();
        }           
        else if (newklädDataList.Count != 0)
        {
            for (int i = 0; i < newklädDataList.Count; i++)
            {
                klädDATALIST plagg = newklädDataList[i];
                Console.WriteLine("ID: {4}\tMärke: {0}\tTyp: {1}\tFärg: {2}\tStorlek: {3}", plagg.märke, plagg.typ, plagg.färg, plagg.storlek, i + 1);
            }

            Console.WriteLine("===============================================================");
            Console.WriteLine("Vill du ta bort ett klädesplagg? - Ange siffra -");
            string input = Console.ReadLine();

                int svar = int.Parse(input);              
                int svarID = svar - 1;
                if (svar != 0 && svar < newklädDataList.Count)
                {
                    newklädDataList.RemoveAt(svarID);

                }
                else if (svar == 0)
                {
                    Console.WriteLine("\nVänligen ange ett giltigt plagg-ID. Tryck [Enter] för att fortsätta.");
                    Console.ReadKey();
                    Console.Clear();
                    menuLISTA();
                }

                else
                {
                    Console.WriteLine("\nVänligen ange ett giltigt plagg-ID. Tryck [Enter] för att fortsätta.");
                    Console.ReadKey();
                    Console.Clear();
                    menuLISTA();
                }


        }

        Console.Clear();
        menuTITEL.menuKläd();

    }

1 个答案:

答案 0 :(得分:0)

我解决了!

else if (newklädDataList.Count != 0)
        {
            for (int i = 0; i < newklädDataList.Count; i++)
            {
                klädDATALIST plagg = newklädDataList[i];
                Console.WriteLine("ID: {4}\tMärke: {0}\tTyp: {1}\tFärg: {2}\tStorlek: {3}", plagg.märke, plagg.typ, plagg.färg, plagg.storlek, i + 1);
            }

            Console.WriteLine("===============================================================");
            Console.WriteLine("Vill du ta bort ett klädesplagg? - Ange siffra -");
            string input = Console.ReadLine();

                int svar = int.Parse(input);              
                int svarID = svar - 1;
                if (svarID == 0 || svar < newklädDataList.Count+1)
                {
                    newklädDataList.RemoveAt(svarID);
                    Console.ReadKey();
                    Console.Clear();
                    menuLISTA();

                }
                else if (svar == 0)
                {
                    Console.WriteLine("\nVänligen ange ett giltigt plagg-ID. Tryck [Enter] för att fortsätta.");
                    Console.ReadKey();
                    Console.Clear();
                    menuLISTA();
                }

                else
                {
                    Console.WriteLine("\nVänligen ange ett giltigt plagg-ID. Tryck [Enter] för att fortsätta.");
                    Console.ReadKey();
                    Console.Clear();
                    menuLISTA();
                }


        }

        Console.Clear();
        menuTITEL.menuKläd();