我正在尝试手动模拟 Console.Writeline。
即:我正在创建一个带有函数 WriteLine 的小型控制台类。
请参阅下面的代码:

static class Console
{
    public static string WriteLine(string text)
    {
        return text;
    }
}

所以我尝试了:
class Program
{
    static void Main()
    {
        Console.WriteLine("HiMan");
    }
}
static class Console
{
    public static string WriteLine(string text)
    {
        return text;
    }
}

我知道它会返回文本,但是如何在不使用 Write 或 Writeline 方法的情况下将其显示在屏幕上?

我创建这个例子是为了让人们了解类是如何工作的,以及为什么当我使用 WriteLine 或 Write() 时它会在控制台窗口中显示文本。

最佳答案

这取决于你想走多深。 Console.WriteLine() 在内部调用 Console.Out 上的 WriteLine。 Console.Out 是一个提供 WriteLine 实现的 TextWriter。您始终可以通过直接将字节写入流来实现自己的 WriteLine。

如果你想更深入,比如直接写入控制台缓冲区,请注意控制台的 Out、In 和 Error 属性都是可重定向的,忽略它们可能会导致问题,例如无法使用重定向输入和输出命令行上的管道。

关于C# : Manually creating a console. writeline,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12389766/

10-13 03:23