Я пытаюсь разрешить пользователю постоянно добавлять ключ и значение, которое разделяет пространство в словаре, с возможностью разрешить пользователю завершить ввод ключей и значения путем выхода, когда пустая строка была введена.Ввод значений и выход из строя, если пустая строка введена
Так, например, это справедливо вход:
test-string 12345
hello world
Мой код работает отлично, однако если пользователь вводит только одну строку, а затем пустая строка, то она по-прежнему показывая, что недопустимый ввод был введен:
Console.WriteLine("Parameters separated by a space (NAME - VALUE). A blank line ends input.");
var parameters = new Dictionary<string, string>();
while (Console.ReadLine() != String.Empty)
{
string input = Console.ReadLine();
string[] splitInput = input.Split(' ');
if (splitInput.Count() < 2)
{
Console.WriteLine("Invalid input.");
}
else
{
parameters.Add(splitInput[0], splitInput[1]);
}
}
Я не уверен, где это происходит, я думаю, что это связано с < 2
, но я не знаю, как еще проверить количество элементов. Как правильно разрешить ввод нескольких значений при выходе из пустой строки?
используйте отладчик, и вы быстро увидите, где вы ошибаетесь в своей логике. – MethodMan
Предлагаю вам изменить цикл 'while' на' while (input = Console.ReadLine()! = String.Empty) ', чтобы избежать пропусков вход. – Tim