在C#中仅从控制台擦除一个已经打印的字符

时间:2018-11-08 15:55:11

标签: c# console

因此,我想创建一个脚本,该脚本首先从(相当大的)2D数组中打印出值,然后通过擦除字符并打印一个新字符来更改一个字符,而无需清除整个控制台并重新绘制它,因为这会导致闪烁当我想经常进行更改时非常烦人。那么,有什么方法可以替换或擦除已经打印的一个字符,或者有其他有效的方法吗?我只是不想闪烁。

2 个答案:

答案 0 :(得分:0)

要删除控制台中的最后一个字符输入,可以使用以下命令:

  

Console.Write(“ \ b”);

但是,如果您要删除字符串中间的字符,则必须对所需的字符进行一些巧妙的退格,然后重新打印字符串的其余部分。您可以在退格之前编写一个循环,直到要删除的字符,然后将已删除的字符添加到堆栈中,然后弹出来重写它们。

第二种方法效率极低,因为控制台命令自然很慢,而且确实滥用了控制台退格命令。

答案 1 :(得分:0)

移动光标并写一个空格“”。 (或者您要用作替代字符的任何字符。)