1

我想让我的项目更快。我使用了 Stopwatch 类并计算了此代码块之间的时间。大部分时间都花在string output = p.StandardOutput.ReadToEnd();排队上。有什么建议可以代替这个代码吗?

Process p = new Process();
ProcessStartInfo startInfo = new ProcessStartInfo();
startInfo.FileName = DBUpdater_Adresi;         
startInfo.RedirectStandardOutput = true;
startInfo.UseShellExecute = false;
startInfo.CreateNoWindow = true;
p.StartInfo = startInfo;
p.Start();
string output = p.StandardOutput.ReadToEnd();
p.WaitForExit();
4

1 回答 1

3

大部分时间都花在该行上的原因是它等待您启动的程序的整个执行。它不需要时间,因为它效率低下,它需要时间,因为它正在等待另一个过程。

最后一行等待进程退出,但是从输出流被关闭到进程结束的时间很少。

于 2013-09-02T12:10:53.213 回答