如何在循环中使用readkey写一个字符串?

时间:2016-09-19 19:54:34

标签: c#

我正在制作一个程序,其中我需要用户输入不可见,我读到var key = System.Console.ReadKey(true);就是这样做的。 为了做我需要的,但是我需要一个包含多个字符的字符串,所以我所做的就是

string Choice1=null;
User1Input:
while (true)
{
    var key = System.Console.ReadKey(true);
    if (key.Key == ConsoleKey.Enter)
    {
        break;
    }
    Choice1 += key;
} 

发生的事情是key根本没有读取任何内容,因为即使按下回车键,循环也不会关闭。

1 个答案:

答案 0 :(得分:1)

因此,您的唯一目的是在用户在控制台中输入类型时隐藏角色。在这种情况下,您处于正确的轨道,除了最后一行Choice1 += key;之外,您发布的代码看起来很好。它应该是

Choice1 += key.KeyChar;

您发布的代码修改

string choice1=null; //casing of variable names
while (true)
{
    var key = System.Console.ReadKey(true);
    if (key.Key == ConsoleKey.Enter)
        break;

    choice1 += key.KeyChar;
 }