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# を使用してシェル コマンドを実行しようとしていました。デバッガーがproc.Start();にある場合。行、ウォッチに追加されたproc.StandardOutput.ReadLine()は出力を正しく表示しますが、デバッガーが次の行にジャンプすると ( string nome_user = proc.StandardOutput.ReadLine(); )、理由もなくproc.StandardOutputの値.ReadLine()は null になります。手伝って頂けますか?

4

1 に答える 1

1

まあ、デバッガで読むと、すでにストリームから消費されています。ストリームは魔法のように巻き戻されないため、再度読み取ることができます。

于 2012-07-28T01:24:23.913 に答える