防止控制台覆盖线路

时间:2016-11-27 23:44:26

标签: c#

我有办法阻止控制台打印到顶线吗? 所以:

  

控制台中的这一行没有改变

     

但是这个和它下面的那个可以

非常感谢任何帮助。感谢。

3 个答案:

答案 0 :(得分:3)

我认为如果你想在没有覆盖的情况下单独留下第一行,你可以使用Console.SetCursorPosition

实施例

// Set cursor starting from the second line
Console.SetCursorPosition(0, 1);
Console.WriteLine("The second line");

答案 1 :(得分:0)

您可以使用自己的打印行功能,它始终打印您要保留的行+更改的行,并将其作为参数传递给它。或者你可以制作自己的单行控制台。

void print(string toPrint){
  clearConsole();
  Console.write("string to keep");
  Console.write(toPrint);
}

void clearConsole(){
  for(int i = 0; i < 20; i++){
    Console.write(" ");
  }
}

答案 2 :(得分:0)

如果您使用此代码:

Console.WriteLine("x\nx");

它应该打印:

x 

x

但如果您的问题是您只是想跳过一条线以获得更好的可见性:

Console.WriteLine();

它会跳过一行。如果你想在该行上放置一些内容,你也可以在参数内输入。