C# - 如何在控制台应用程序上显示进程进度百分比并打印不断变化的字符串?

问题描述

我想知道是否有办法在 C# 代码的控制台应用程序中做两件事。

一个,是显示调用进程的进度百分比,这样用户就会或多或少地知道经过的进度以及他/她需要等待的时间。

第二个,打印三个不断变化的字符串,循环每一个,直到过程结束。

那些是我想一个一个地打印的字符串,但在控制台应用程序屏幕的同一行上:

string Please_Wait_One_Dot = "Please wait.";
string Please_Wait_Two_Dots = "Please wait..";
string Please_Wait_Three_Dots = "Please wait...";

Console.WriteLine("\n{0}",Please_Wait_One_Dot);
Console.WriteLine("\n{0}",Please_Wait_Two_Dots);
Console.WriteLine("\n{0}",Please_Wait_Three_Dots);

// This Prints those Strings but on Different Lines without any Loop.

基本上,我想要做的是打印一些显示消息的文本,但是,点数从 1 变为 2,从 2 变为 3,然后又变回 1,循环此循环直到选定操作最终由用户完成。

解决方法

未测试...用作伪代码...

Console.write("Please_Wait");
int count = 0;
do
{
   if (count < 3)  
   {
      Console.Write(".");  // add a dot
      count++;
   }
   else
   {
     Console.Write("\b\b\b");  // erase all dots
     count = 0;                //resume   
   } 
   
} while(not_done)