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


How in c# console application on WriteLine i can do so it will replace each line of the same one in for loop?

本问题已经有最佳答案,请猛点这里访问。

Possible Duplicate:
How can I update the current line in a C# Windows Console App?

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

1
2
3
4
5
6
7
For (x=0; x<this.Length;x++)
     {
     for (y=0; y<this.Length;y++)
          {
           Console.WriteLine("Working on file" + images[x] +" please wait");
          }
     }

行console.writeline("处理文件"+images[x]+"请稍候");将在控制台窗口中写入行下的每个图像[X]文件行。我希望它只写一次,然后重写同一行,依此类推。不是线下的线。比如"处理0001号文件,请稍候"然后下一行将替换相同的"处理文件0002请稍候"

我试着把console.clear();放在console.writeline之后,但是它像闪烁一样不能顺利工作。


不使用写结转退货和换行的WriteLine,只写结转退货。它将光标放在行的开头,以便它写在上面的下一行:

1
2
3
4
5
6
for (x=0; x<this.Length;x++) {
  for (y=0; y<this.Length;y++) {
    Console.Write("Working on file" + images[x] +" please wait
"
);
  }
}


您可以使用console.write和prepend,如下所示:

1
2
Console.Write("
Working on file"
+ images[x] +" please wait");

也许在末尾也附加一些空格,以确保删除以前的内容。


使用Console.SetCursorPosition方法:msdn console.setcursorposition


默认情况下,console.write line将数据写入控制台并终止行,这样您就不能以这种方式重写同一行。

我建议最好为每张图片都写一条线,这样你就可以看到哪些图片已经处理过,哪些没有处理过。