除了一个特定的行之外,如何使Console.Clear清除所有内容? (C#)

时间:2014-07-14 00:33:12

标签: c#

如何使Console.Clear清除除一条特定行以外的所有内容? (C#)

所以,正如标题所说我想要清除整个控制台,除了使用c#的一个特定行。有可能吗?

2 个答案:

答案 0 :(得分:6)

嗯,是的,这是可能的。但这并不是特别容易。您必须熟悉Console API,包括如何使用.NET调用这些函数。然后,你可以做什么:

  1. 找到要保存的行。如果您知道它在屏幕上的位置,那么它很容易在控制台屏幕缓冲区中找到。
  2. 调用FillConsoleOutputCharacter从屏幕缓冲区的开头输出空格,直到您要保存的行的第一个字符。
  3. 再次调用FillConsoleOutputCharacter,从要保存的行末尾输出空格,直到缓冲区末尾。
  4. 几年前我写了一系列关于从C#访问控制台的文章。这些文章不再在线,但代码可从http://mischel.com/pubs/consoledotnet.zip获得。您可能会发现它很有用。

答案 1 :(得分:0)

是的,这是可能的。只需使用此代码......

string line = yourlinenottobedeleted;
console.clear();
console.WriteLine(line);

行为完成了 (如果不要删除的行不是字符串,则输入int而不是字符串)