c#dictionary foreach循环,如果用户输入不在dictionary中,如何使其循环

c#dictionary foreach循环,如果用户输入不在dictionary中,如何使其循环,c#,loops,dictionary,foreach,C#,Loops,Dictionary,Foreach,好的,我有这个密码 while (true) { string[] items = Console.ReadLine().Split(' '); string result = null; foreach (string itemNumber in items) { if (tdItems.ContainsKey(itemNumb

好的,我有这个密码

            while (true)
        {
            string[] items = Console.ReadLine().Split(' ');
            string result = null;
            foreach (string itemNumber in items)
            {
                if (tdItems.ContainsKey(itemNumber))
                {
                    result += " + " + tdItems[itemNumber];
                }
                else
                {
                    Console.WriteLine("You have entered a drop which is not in the database, Try again");
                    continue;
                }
            }
            WriteToTextFile(result.Substring(3) + Environment.NewLine);
        }
基本上,我已经输入了一个If命令,以确保当用户输入比如说1、2、3或其他东西时,它会工作,如果他输入了字典中没有的比如21、99,那么它会说一行,然后返回循环。但它还是不断出错


为什么要这样做,只是有点困惑。

如果用户没有在数据库中输入任何内容,则结果为空


结果。子字符串(3)会导致异常。

他最好在使用时使用
StringBuilder
。是的,这样效率会更高。我猜有更好的方法删除数据库中的表;-)