我想知道如何写一个程序来做这样的事情。
var text = Console.ReadLine();
并允许用户稍后擦除被读取的文本。但是,没有明确的方法可以做到这一点。我知道可以做到,因为有一些用c#写的文本编辑器。谁能给我指出正确的方向?
这一切都取决于你想如何删除这一行。
你可以检查 Console.Clear可以用来只清除一行而不是整个控制台吗? 基本上就是用空字符串替换特定的一行。
// Parameters left, top
Console.SetCursorPosition(0, Console.CursorTop - 1);
Console.Write(new string(' ', Console.WindowWidth));
Console.SetCursorPosition(0, Console.CursorTop);
这里的问题,是用户如何与控制台交互,让控制台知道要删除哪一行,因为随着新行的插入,行会发生变化,所以你需要找到一种方法,在插入第一行后再计算行。
所以每当你 Writeline
或 Readline
你需要增加计数器来保持历史记录。如果你想为多行做,那么就会变得更加复杂。
首先,请看一看可用于对 Console
为你正在使用的相应框架版本。可以调整光标的位置,这样就有了很多乐趣。
https:/docs.microsoft.comen-usdotnetapisystem.console.setcursorposition?view=netcore-3.1。