gpt4 book ai didi

c# - Console.KeyAvailable - 如何重置此 boolean 值?

转载 作者:行者123 更新时间:2023-11-30 15:00:13 24 4
gpt4 key购买 nike

这里使用 C#。我正在创建一个控制台应用程序。我有两种滚动文本而不是立即在屏幕上显示文本的方法。一个与 Console.Write() 相同,另一个与 Console.WriteLine() 相同。区别在于每个字符之间有 30 毫秒的延迟。我试图做到这一点,当你按住一个键时,它会在每个字符之间加速到 5 毫秒的延迟。问题是,一旦您按下一个键,Console.KeyAvailable 就为真并且不会重置,因此它会继续运行,只有 5 毫秒的延迟。有没有办法将其设置回 false,或者我可以做些什么来实现这一点?这是我的代码:

    //Console.Write() version
static void RPGWrite(string write)
{
char[] writearray = write.ToCharArray();
int writearraycount = writearray.Count();
for (int x = 0; x < writearraycount; x++)
{
Console.Write(Convert.ToString(writearray[x]));
if (Console.KeyAvailable == false)
System.Threading.Thread.Sleep(30);
else
System.Threading.Thread.Sleep(5);
}
}
//Console.WriteLine() version
static void RPGWriteLine(string write)
{
char[] writearray = write.ToCharArray();
int writearraycount = writearray.Count();
for (int x = 0; x < writearraycount; x++)
{
Console.Write(Convert.ToString(writearray[x]));
if (Console.KeyAvailable == false)
System.Threading.Thread.Sleep(30);
else
System.Threading.Thread.Sleep(5);
}
Console.Write("\n");
}

最佳答案

[nkvu - 将评论中的项目移至此处以防对其他人有帮助]

据我所知,设置 KeyAvailable返回 false 是您实际上需要从流中读取 key (例如,通过使用 Console.ReadKey )。

使用 Console.ReadKey(true) 将从流中读取一个字符,而不会回显到控制台供用户查看 - 尽管请注意 MSDN 文档中关于按下 Alt 键的说明, Ctrl 或 Shift 键本身。

关于c# - Console.KeyAvailable - 如何重置此 boolean 值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15708289/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com