限制控制台中的输入

Rei*_*awi 1 c# console input readline console-application

我正在制作一个迷宫游戏.如何在Console.Read()之后限制用户输入的字符数?我需要限制它,以便如果用户输入一个非常长的字符串,它将覆盖我的迷宫.如果你打算告诉我之后重写迷宫,我会说不.我不能.相信我,这将需要我另一个漫长的过程.我只想要一个简单的代码来限制输入.

这是显示问题的屏幕截图.你asdasjhasd....在屏幕上看到了吗?看看它是如何混淆迷宫的?我想限制用户可以输入的字符数,以便它不会到达迷宫.你们能告诉我使用什么代码吗?

解决了

string str = string.Empty;
while (true)
{
    char c = Console.ReadKey(true).KeyChar;
    if (c == '\r')
        break;
    if (c == '\b' )
    {
        if (str != "")
        {
            str = str.Substring(0, str.Length - 1);
            Console.Write("\b \b");
        }
    }
    else if (str.Length < limit)
    {
        Console.Write(c);
        str += c;
    }
}
Run Code Online (Sandbox Code Playgroud)

And*_*bel 5

解决方法是使用Console.ReadKey:

string str = string.Empty;
do
{
    char c = Console.ReadKey().KeyChar;
    if(c == '\n')
        break;

    str += c;
}while(str.Length < 7);
Run Code Online (Sandbox Code Playgroud)

  • 关闭你的重复问题是正确的做法.没理由抱怨马修. (4认同)
  • 然后,您可以解释您正在做什么以及您不工作的意思.您还没有发布尝试使用它的代码.一旦用'\ r``替换`\n`和`string.Empty`替换`string.empty`这看起来是正确的 (2认同)
  • 如果您没有发布有关您的问题的足够信息,我们无法帮助您. (2认同)
  • @Reinan Contawi,你不想得到帮助.如果您不显示源代码,您如何期望人们能够帮助您?很容易说*不工作*.什么不起作用,你到目前为止尝试了什么,你的代码是什么样的?请提供更多信息,您将获得帮助. (2认同)