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
。是的,这样效率会更高。我猜有更好的方法删除数据库中的表;-)