【发布时间】:2011-04-02 10:46:30
【问题描述】:
基本上我希望 Console.ReadLine() 在字符开始被抑制之前最多出现 200 个字符供用户输入。我希望它像 TextBox.MaxLength 一样,除了控制台输入。我该怎么办?
我不想这样做input.Substring(0, 200).
已解决:
我使用了自己的 ReadLine 函数,它是 Console.ReadKey() 的循环。
基本上是这样的:
StringBuilder sb = new StringBuilder();
bool loop = true;
while (loop)
{
ConsoleKeyInfo keyInfo = Console.ReadKey(true); // won't show up in console
switch (keyInfo.Key)
{
case ConsoleKey.Enter:
{
loop = false;
break;
}
default:
{
if (sb.Length < 200)
{
sb.Append(keyInfo.KeyChar);
Console.Write(keyInfo.KeyChar);
}
break;
}
}
}
return sb.ToString();
谢谢大家
【问题讨论】:
-
整体场景如何?
标签: c# console-application user-input