📜  C#中的Console.SetIn()方法(1)

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

C#中的Console.SetIn()方法

简介

Console.SetIn()方法是C#中的一个静态方法,用于指定标准输入流的来源。在使用该方法后,Console.ReadLine()方法就会从指定的流中获取输入。

语法
public static void SetIn(TextReader newIn);

该方法有一个TextReader类型的参数,表示要指定的输入流。

示例

下面的代码展示了如何使用Console.SetIn()方法来实现从文件中读取输入:

using System;
using System.IO;

class Program
{
    static void Main(string[] args)
    {
        // 从文件中读取输入
        StreamReader reader = new StreamReader("input.txt");
        Console.SetIn(reader);

        // 读取输入
        string input = Console.ReadLine();
        Console.WriteLine("输入的内容是:" + input);

        // 关闭输入流
        reader.Close();
    }
}

在以上示例中,首先创建了一个StreamReader对象,该对象用于从指定的文件中读取输入。然后使用Console.SetIn()方法将标准输入流指定为该流。最后使用Console.ReadLine()方法读取输入,输出到控制台。

注意事项
  • 调用Console.SetIn()方法后,需要手动关闭指定的输入流,否则会造成内存泄漏。
  • 如果指定的输入流为空,则Console.ReadLine()方法会一直阻塞,等待输入。
结论

Console.SetIn()方法可以帮助我们从任意流中读取输入,而不仅仅是从控制台中。这对于需要将输入重定向到文件或者网络等场景非常有用。但使用此方法时需注意释放资源。