如果输入了空行,则输入值并退出

时间:2016-01-12 17:31:21

标签: c# .net console-application

我尝试允许用户连续添加一个键和一个将空格分隔到字典的值,并允许用户通过退出时出现一个空白行已完成输入键和值已输入。

例如,这是有效的输入:

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有关,但我不知道如何检查其数量元素。如何在空白行退出时正确允许输入多个值?

1 个答案:

答案 0 :(得分:0)

你在while循环中正在做一个Console.ReadLine()。然后在空格上分割任何空行,从而产生一个包含0个元素的字符串数组。然后立即将其视为“输入无效。”