【发布时间】:2012-02-08 06:11:56
【问题描述】:
我想用标准输入做一个简单的应用程序。我想在一个程序中创建一个列表并在另一个程序中打印它。我想出了以下内容。
我不知道 app2 是否可以工作,但在 app1 中出现异常“StandardIn 尚未重定向”。在 writeline 上(在 foreach 语句内)。我该怎么做?
注意:我尝试将 UseShellExecute 设置为 true 和 false。两者都会导致此异常。
//app1
{
var p = new Process();
p.StartInfo.RedirectStandardInput = true;
p.StartInfo.FileName = @"path\bin\Debug\print_out_test.exe";
foreach(var v in lsStatic){
p.StandardInput.WriteLine(v);
}
p.StandardInput.Close();
}
//app 2
static void Main(string[] args)
{
var r = new StreamReader(Console.OpenStandardInput());
var sz = r.ReadToEnd();
Console.WriteLine(sz);
}
【问题讨论】:
-
你希望做 p = Process.Start(v);例如..??还设置 p.UseShellExecute = false;