在WriteLine上的c#控制台应用程序中,我如何做到替换for循环中同一行的每一行

本文关键字:一行 循环 for 替换 控制台 上的 WriteLine 应用程序 何做 | 更新日期: 2023-09-27 18:05:36

可能重复:
如何更新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");
          }
     }

行Console.WriteLine("正在处理文件"+images[x]+"请稍候"(;将在控制台窗口中的每一行下写入图像[x]文件行。我希望它写一次,然后覆盖同一行,以此类推。不是一行接一行。像计数"正在处理文件0001,请稍候"然后下一行将替换相同的"正在处理文件0002,请稍候">

我尝试将Console.Clear((;在Console.WriteLine之后,但它像闪烁一样无法正常工作。

在WriteLine上的c#控制台应用程序中,我如何做到替换for循环中同一行的每一行

不使用WriteLine来写卡拉格返回和换行,而只写卡拉格回报。这将光标放在行的开头,这样它写在上面的下一行:

for (x=0; x<this.Length;x++) { 
  for (y=0; y<this.Length;y++) {
    Console.Write("Working on file " + images[x] + " please wait'r");
  }
}

您可以使用Console.Write和prepend''r如下:

Console.Write("'rWorking on file " + images[x] + " please wait");

也许在末尾也加上一些空格,只是为了确保删除以前的内容。

使用Console.SetCursorPosition方法:MSDN Console.SetCursorPosition

默认情况下,Console.WriteLine将数据写入控制台并终止该行,因此您将无法以这种方式重写同一行

我建议最好为每个处理过的图像写一行,这样你就可以看到哪些图像已经处理过,哪些没有进行