我想学习是否有另一种(更快的)方法使用C#.net将文本输出到控制台应用程序窗口,而不是使用简单的Write,BackgroundColor和ForegroundColor方法和属性?我了解到每个单元格都有背景颜色和前景色,我想比使用上面提到的方法更快地缓存/缓冲/写入.
也许使用Out缓冲区有一些帮助,但我不知道如何将颜色编码到流中,如果这是颜色数据所在的位置.
这是一个基于retrostyle文本的游戏,我想要实现,我使用标准颜色和ascii字符来布局游戏.
请帮忙 :)
更新:
Out和缓冲区可能不是我需要弄乱的东西.似乎有一个控制台拥有的屏幕缓冲区.我不知道如何访问它,也许我只是运气不好,除非我导入一些dll.
这个问题已经让我感到困扰了一段时间,我意识到很难描述我在寻找什么.我希望能够在C#控制台应用程序中为文本输入保留一行,同时仍允许在其余行中更新其他信息.更具体地说,我想制作一个小型泥浆游戏,即使在用户忙于输入时游戏也会更新.输入不会阻止信息流是很重要的.
我想实现用户将输入写入屏幕中最后一个可见行的效果,而另一个文本像往常一样追加,但不会向下滚动我的输入行,也不会覆盖它.
如果我用形式来描述这个,我想象相当于将多行文本框作为信息的上半部分,在输入的底部有一个单行文本框.
我需要清除控制台中的某一行,但需要保留其余的行。我知道Console.Clear(),但会清除整个控制台。我如何只清除一行?