📜  console.out - C# (1)

📅  最后修改于: 2023-12-03 15:00:01.644000             🧑  作者: Mango

C# Console.Out 简介

在C#中,可以使用Console.Out来输出数据到控制台,并且这个输出流可以被重定向到其他地方,例如文件、网络等等。

基础用法
using System;

class Program {
  static void Main() {
    Console.Out.WriteLine("Hello World");
  }
}

代码如上所示,在Console.Out后面接上.WriteLine方法,就可以将输出的字符串打印到控制台上。

重定向到文件

在C#中,可以使用文件流来将控制台输出流重定向到文件中。比如将上述代码的输出重定向到log.txt文件中:

using System;
using System.IO;

class Program {
  static void Main() {
    using (var stream = new StreamWriter("log.txt")) {
        Console.SetOut(stream);
        Console.Out.WriteLine("Hello World");
    }
  }
}

代码如上所示,首先需要使用StreamWriter来创建一个文件流,然后调用Console.SetOut方法来将控制台输出流重定向到文件流中,最后向Console.Out中写入数据即可。

重定向到网络

除了可以将数据重定向到文件中外,还可以将数据重定向到网络上。我们可以使用TcpClientNetworkStream类来将数据重定向到网络上。比如将数据重定向到一个网络服务器:

using System;
using System.IO;
using System.Net.Sockets;

class Program {
  static void Main() {
    using (var client = new TcpClient("localhost", 80))
    using (var stream = client.GetStream())
    using (var writer = new StreamWriter(stream)) {
      Console.SetOut(writer);
      Console.Out.WriteLine("GET / HTTP/1.1");
      Console.Out.WriteLine("Host: localhost");
      Console.Out.WriteLine();
      Console.Out.Flush();
    }
  }
}

代码如上所示,我们首先需要创建一个TcpClient来连接到一个网络服务器,然后使用GetStream方法获取网络流,使用StreamWriter来将数据写入网络流中,最后向Console.Out中写入数据即可。

总结

Console.Out是一个非常方便的输出流,可以将数据输出到控制台,也可以被重定向到其他地方,例如文件、网络等等,使得我们能够更加灵活地处理输出数据。