下面我将为你提供“C#控制台输出进度和百分比的实例代码”的完整攻略。
1. 实现思路
在C#中,我们可以通过控制台输出一些信息来显示进度和百分比。一般情况下,我们需要用到以下几个关键步骤:
- 获取总的任务量
- 对任务进行遍历或者处理,并计算完成进度
- 输出进度和百分比信息
2. 实例代码1
下面我将演示一个简单的示例代码,其中我们通过遍历一个集合来计算进度和百分比,并输出相应的信息。
List<int> lst = new List<int>() {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
int total = lst.Count;
int progress = 0;
foreach(int i in lst)
{
// 处理任务
Console.WriteLine("当前处理:{0}", i);
progress++;
// 计算进度和百分比
int percent = progress * 100 / total;
// 输出进度和百分比
Console.CursorLeft = 0;
Console.Write("进度:{0}%({1}/{2})", percent, progress, total);
Thread.Sleep(500); // 等待500毫秒,模拟任务处理时间
}
Console.WriteLine("\n处理完成");
在这个代码中,我们首先定义了一个List
3. 实例代码2
下面,我将给你展示一个更加实际的示例代码,这个示例代码通过读取一个大文件来模拟处理任务,并输出进度和百分比信息。
string filePath = @"D:\test.txt";
FileInfo fileInfo = new FileInfo(filePath);
int total = (int)(fileInfo.Length / 1024); // 计算文件大小,单位为KB
int progress = 0;
using (StreamReader sr = new StreamReader(filePath))
{
while (!sr.EndOfStream)
{
string line = sr.ReadLine();
// 处理任务
progress += Encoding.Default.GetBytes(line.Trim()).Length / 1024;
Console.CursorLeft = 0;
// 计算进度和百分比
int percent = progress * 100 / total;
// 输出进度和百分比
Console.Write("处理进度:{0}%({1}/{2}KB)", percent, progress, total);
}
}
Console.WriteLine("\n处理完成");
在这个示例代码中,我们通过FileInfo类获取到指定文件的大小,并将其单位转换为KB,然后通过StreamReader类逐行读取文件的内容,并通过Encoding.Default.GetBytes方法获取到当前读取行的大小,并计算出总的完成进度,最后通过Console.WriteLine方法输出相应的信息。在代码中,我们通过\n字符插入一个换行符来换行输出信息。
希望这些示例代码可以帮助你更好的理解C#中控制台输出进度和百分比的实现方式。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C#控制台输出进度和百分比的实例代码 - Python技术站