📜  C#中的Console.SetOut()方法

📅  最后修改于: 2021-05-29 19:22:33             🧑  作者: Mango

C#中的Console.SetOut(TextWriter)方法用于重定向标准输出流。借助此方法,用户可以将StreamWriter指定为输出对象。 Console.SetOut方法将接收类型为TextWriter的对象。可以将StreamWriter传递给Console.SetOut,并将其隐式转换为TextWriter类型。它只是将标准输出流属性设置为其获取的指定TextWriter对象。

句法:

public static System.IO.TextWriter Out { get; }
                or
public static void SetOut (System.IO.TextWriter newOut);
                or
public static void SetOut(TextWriter newOut)

返回值:将streamWriter返回到指定的TextWriter对象。

例外情况:

  • 当newOut为null时,抛出ArgumentNullException ,它不接受它作为有效参数。
  • 发生I / O错误时,将引发IOException。

范例1:

// C# code to demonstrate the use 
// of Console.SetOut method
using System;
using System.IO;
  
class GFG {
  
    // Main Method
    static void Main()
    {
  
        // Creating a text file named "out" in D Drive
        using(StreamWriter writer = new StreamWriter("D:\\out.txt"))
        {
            Console.SetOut(writer);
            Result();
        }
    }
  
    // Method Result
    static void Result()
    {
  
        // Writing to the file
        Console.WriteLine("GeeksforGeeks");
        Console.WriteLine("A Computer Science portal for Geeks!");
    }
}

编译和执行:

输出:

范例2:

// C# code to demonstrate the use 
// of Console.SetOut method
using System;
using System.IO;
  
class GFG {
  
    // Main Method
    static void Main()
    {
  
        // will display on console
        Console.WriteLine("\nGeeksForGeeks");
  
        // Creating a text file named "Geeks" 
        // at the location of your program
        FileStream geeks1 = new FileStream("Geeks.txt", FileMode.Create);
  
        // Standard Output stream is 
        // being saved to a Textwriter
        TextWriter geeksave = Console.Out;
  
        StreamWriter portal1 = new StreamWriter(geeks1);
        Console.SetOut(portal1);
  
        Console.WriteLine("\nThe Computer Science portal for Geeks");
  
        Console.WriteLine("\nWelcome to GeeksforGeeks");
        Console.SetOut(geeksave);
  
        // will display on console
        Console.WriteLine("This is Console.SetOut Method in C#");
        Console.WriteLine("Get programming practices at your own pace !");
        portal1.Close();
    }
}

编译和执行:

参考:

  • https://docs.microsoft.com/zh-cn/dotnet/api/system.console.setout?view=netframework-4.7.2