gpt4 book ai didi

c# - 计算进度百分比

转载 作者:太空狗 更新时间:2023-10-29 20:05:49 33 4
gpt4 key购买 nike

我如何计算循环加载文件的百分比?

例如:

ProcessStartInfo p = new ProcessStartInfo();
Process process = Process.Start(p);
StreamReader sr = process.StandardOutput;
char[] buf = new char[256];
string line = string.Empty;
int count;

while ((count = sr.Read(buf, 0, 256)) > 0)
{
line += new String(buf, 0, count);
progressBar.Value = ???
}

`

我该怎么做?提前致谢

最佳答案

您需要知道预期的最终输出量 - 否则您无法给出已经完成的输出的一部分。

如果你知道它会是某个尺寸,你可以使用:

// *Don't* use string concatenation in a loop
StringBuilder builder = new StringBuilder();
int count;
while ((count = sr.Read(buf, 0, 256)) > 0)
{
builder.Append(buf, 0, count);
progressBar.Value = (100 * builder.Length) / totalSize;
}

这假设进度条的最小值为零,最大值为 100 - 它还假设总长度小于 int.MaxValue/100。另一种方法是简单地使进度bar 最大值总长度,并将进度条值设置为builder.Length

虽然在开始之前你仍然需要知道总长度,否则你不可能按比例给出进度。

关于c# - 计算进度百分比,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7467088/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com