在.net控制台应用程序中显示百分比

Ron*_*rby 29 .net c# console-application

我有一个控制台应用程序执行一个漫长的过程.

我在新线上打印完成百分比,每完成1%.

如何让程序在控制台窗口的相同位置打印完成百分比?

Jon*_*eet 73

打印\r以返回到行的开头(但不要打印换行符!)

例如:

using System;
using System.Threading;

class Test
{
    static void Main()
    {
        for (int i=0; i <= 100; i++)
        {
            Console.Write("\r{0}%", i);
            Thread.Sleep(50);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

  • 是的,这是最简单的方法.确保(如果您使用的是可变长度的字符串),您要记住在行尾用空格覆盖.例如用"完成"替换"99%完成" 将显示"完成!完成"行 - 不理想.:) (7认同)

Noo*_*ilk 17

你可以使用:

Console.SetCursorPosition();
Run Code Online (Sandbox Code Playgroud)

适当地设定位置.

像这样:

Console.Write("Hello : ");
for(int k = 0; k <= 100; k++){
    Console.SetCursorPosition(8, 0);
    Console.Write("{0}%", k);
    System.Threading.Thread.Sleep(50);
}

Console.Read();
Run Code Online (Sandbox Code Playgroud)