C# 合并两个程序并使用1的输出作为另一个程序的输入
我正在尝试合并两个程序,使用一个程序的输出作为另一个程序的输入。 程序#1最终写入输出,程序2希望用户使用控制台输入。我不希望程序1的结果显示为输出,而是用作输入,这样程序2就不会要求用户输入C# 合并两个程序并使用1的输出作为另一个程序的输入,c#,C#,我正在尝试合并两个程序,使用一个程序的输出作为另一个程序的输入。 程序#1最终写入输出,程序2希望用户使用控制台输入。我不希望程序1的结果显示为输出,而是用作输入,这样程序2就不会要求用户输入 foreach (var item in result) { Console.Write(item); } Console.ReadLine(); **end o
foreach (var item in result)
{
Console.Write(item);
}
Console.ReadLine();
**end of program 1**
**program 2**
Console.WriteLine("Please, enter numbers");
var numbersStr = Console.ReadLine();
if (!string.IsNullOrEmpty(numbersStr))
{
numbersStr = numbersStr.Trim();
and program continues
如果这是一个普通程序,您可以将第一个程序的输出写入文件或数据库。你的第二个程序可以从中读取
using (var fileWriter = new StreamWriter(pathOfFile))
{
foreach (var item in result)
{
fileWriter.Write(item);
}
}
课程1结束
计划2
Console.WriteLine("Please, enter numbers");
var numbersStr = Console.ReadLine();
var input = File.ReadAllText(pathOfFile)
if (!string.IsNullOrEmpty(input))
{
numbersStr = numbersStr.Trim();
}
看起来你需要的只是方法。你不需要两个程序
// name this method appropriately!
private static string Program1() {
string retVal = "";
// here goes your program 1
// replace every Console.Write with retVal += ...
// e.g.
foreach (var item in result)
{
retVal += item.ToString();
}
return retVal;
}
// name this properly as well
private static void Program2(string input) {
// program 2 goes here
}
在主菜单中
Program2(Program1());
对于两个或两个以上的程序相互通信,有许多方法可以做到这一点,但它们并非微不足道。查看.NET远程处理、web服务等。在线上有许多关于如何实现这一点的示例以及解释它们的优秀文章。@CodingYoshi我认为.NET远程处理和web服务不适合在同一台机器上进行进程间通信。命名管道、邮箱等更合适。@RonBeyer正确,这就是为什么我说
有很多方法并编写等。
你怎么知道它在同一台机器内?我只知道OP需要两个进程相互通信。这个解决方案听起来很复杂……很抱歉,这是编程界的新事物。第一个程序的输出是一个6位数的数值。@也许您只想创建两个方法,一个调用另一个。你知道你可以创造方法吗?感谢你的回答。然而,现在系统显示了另一个错误。无法将类型“string”隐式转换为“int”。请帮忙