0
System.Diagnostics.Process proc = new System.Diagnostics.Process();
proc.StartInfo.RedirectStandardOutput = true;
proc.StartInfo.UseShellExecute = false;
proc.StartInfo.FileName="id";
proc.StartInfo.Arguments="-un";
proc.Start();
string nome_user = proc.StandardOutput.ReadLine();
proc.WaitForExit();

嗨,我正在尝试使用 Mono GTK# 运行 shell 命令。当调试器在proc.Start(); 行,添加到 watch 的proc.StandardOutput.ReadLine()正确显示输出,但是当调试器跳转到下一行时(string nome_user = proc.StandardOutput.ReadLine();),没有理由proc.StandardOutput的值.ReadLine()变为空。你能帮助我吗?

4

1 回答 1

1

好吧,如果您在调试器中读取它,它已经从流中被消耗掉了。流不会神奇地倒带,因此可以再次读取。

于 2012-07-28T01:24:23.913 回答