将对象发送到标准输出C#

将对象发送到标准输出C#,c#,C#,我有两个简单的应用程序,第一个生成字符串,第二个读取字符串 App1 (ConsoleApp4.exe) for (int i = 0; i < 16; i++) { string x = " " + GetRandomString(6); Console.WriteLine("line " + (i + 1) + x); Thread.Sleep(3000);

我有两个简单的应用程序,第一个生成字符串,第二个读取字符串

App1 (ConsoleApp4.exe)

 for (int i = 0; i < 16; i++)
            {
                string x = " " + GetRandomString(6);
                Console.WriteLine("line " + (i + 1) + x);
                Thread.Sleep(3000);

            }

App2
  Process process = new Process();
            process.StartInfo.FileName = @"ConsoleApp4.exe";
            process.StartInfo.UseShellExecute = false;
            process.StartInfo.RedirectStandardOutput = true;
            process.OutputDataReceived += new DataReceivedEventHandler((sender, e) =>
            {
                // Prepend line numbers to each line of the output.
                if (!String.IsNullOrEmpty(e.Data))
                {
                    lineCount++;
                    //output.Append("\n[" + lineCount + "]: " + e.Data);
                    Console.WriteLine("\n[" + lineCount + "]: " + e.Data);
                }
            });

            process.Start();

            // Asynchronously read the standard output of the spawned process. 
            // This raises OutputDataReceived events for each line of output.
            process.BeginOutputReadLine();
            process.WaitForExit();

            // Write the redirected output to this application's window.
            Console.WriteLine(output);

            process.WaitForExit();
            process.Close();

            Console.WriteLine("\n\nPress any key to exit.");
            Console.ReadLine();
如何更改App1以发送自定义对象而不是字符串。那么我如何修改App2来读取自定义对象呢


另外,我希望避免使用控制台。(任何)如果可能,为了发送消息,查看提供的代码,我将假设这些应用程序是两个独立的控制台应用程序,在彼此的进程中运行

有几种方法可以建立沟通。我强烈建议你应该看一看,它们提供了一种很好的方式来做你想做的事情

另一种可能适合您的方法是使用队列。这是一个很好的图书馆

我认为你可以在互联网上找到足够多的例子来使用它们,所以我们不必在这里写它们

至于如何发送对象而不是字符串?为了做到这一点,您需要能够序列化对象。一种常见的方法是使用或

希望这有帮助!
干杯,快乐编码

查看提供的代码,我将假设这些应用程序是两个独立的控制台应用程序,在每个进程中运行

有几种方法可以建立沟通。我强烈建议你应该看一看,它们提供了一种很好的方式来做你想做的事情

另一种可能适合您的方法是使用队列。这是一个很好的图书馆

我认为你可以在互联网上找到足够多的例子来使用它们,所以我们不必在这里写它们

至于如何发送对象而不是字符串?为了做到这一点,您需要能够序列化对象。一种常见的方法是使用或

希望这有帮助!
干杯,快乐编码

我认为您基本上是在寻找进程间通信,可能会在这里找到有用的答案:我认为您基本上是在寻找进程间通信,可能会在这里找到有用的答案:
class Message
{
  string AMessage
  bool IsItTrue
  int MyFavoriteNumber
}