【问题标题】:Removing specific index with user inputC#使用用户输入删除特定索引C#
【发布时间】:2016-05-23 22:08:20
【问题描述】:

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

他们会得到一个包含对象 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();

    }

【问题讨论】:

    标签: if-statement input while-loop


    【解决方案1】:

    我解决了!

    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();
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-02-22
      • 1970-01-01
      • 2019-09-08
      • 1970-01-01
      • 2022-11-04
      • 2022-01-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多