如何在WriteLine上的c#控制台应用程序中我可以这样做它将替换for循环中同一个应用程序的每一行?

Dan*_*Lip 7 c#

可能重复:
如何更新C#Windows控制台应用程序中的当前行?

我的意思是我在for循环中有一个for.

For (x=0; x<this.Length;x++)
     { 
     for (y=0; y<this.Length;y++)
          {
           Console.WriteLine("Working on file " + images[x] + " please wait");
          }
     }
Run Code Online (Sandbox Code Playgroud)

Console.WriteLine行("Working on file"+ images [x] +"please wait"); 将在控制台窗口中写入每个图像[x]文件行下.我希望它会写一次,然后覆盖相同的行,依此类推.不排队.像计算"工作文件0001,请等待"然后下一行将替换相同的"工作文件0002,请等待"

我试着把Console.Clear(); 在Console.WriteLine之后,然后像闪烁的doestn工作顺利.

Guf*_*ffa 7

而不是使用WriteLine哪个写入carrage返回和换行,只写入carrage返回.这会将光标放在行的开头,以便它在其上面写下一行:

for (x=0; x<this.Length;x++) { 
  for (y=0; y<this.Length;y++) {
    Console.Write("Working on file " + images[x] + " please wait\r");
  }
}
Run Code Online (Sandbox Code Playgroud)

  • 正如EPLKleijntjens指出的那样,如果新文件名更短,这可能会在屏幕上留下部分先前的文件名.序列`ESCAPE [K`,或``\ x1b [K"`将从光标清除到行尾*如果你的终端仿真器支持它. (2认同)