c # словарь цикл foreach, как сделать его циклом, если пользовательский ввод отсутствует в словаре - PullRequest
0 голосов
/ 04 июля 2011

Хорошо, у меня есть этот код.

            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, которого нет в словаре, он будет произносить строку и вернитесь к петле. Однако он продолжает выдавать ошибку?

Почему он это делает, просто немного запутался.

1 Ответ

1 голос
/ 04 июля 2011

результат равен нулю, если пользователь не вводит ничего, что находится в базе данных

result.Substring (3) вызывает исключение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...