如何在 C# 中显示没有 Console.WriteLine() 的文本

How to display text with out Console.WriteLine() in C#

我正在尝试在 C# 中制作一个独立于使用 System 或任何其他库(包括 Console.WriteLine();)的控制台程序。我正在制作一个用 C# 编写的 SDK(几乎就像 Unity 3D 所做的那样)。但是我不知道如何制作自定义文本打印机。我没有在网上找到任何与我想做的事情相关的文章或 Whosebug 问题。必须有办法做到这一点,否则 Console.WriteLine(); 将不存在。

到目前为止,这是我的代码,但我不知道它会有多大帮助:

public static class GPrint
{
    public static void Print(string str)
    {



    }
}

我已经探索了几乎所有明显的东西,如 string.something()str.something(),但似乎与在屏幕上打印字符串无关。

有没有什么方法可以在不使用提供的 System 命名空间的情况下制作一个简单的 Console.WriteLine() 克隆?

提前致谢!

System.Console,对 stdin/stdout is so inherent to processes that the .NET team decided to incorporate it into the common object runtime library (mscorlib).

的抽象

换句话说,让进程通过标准流接收输入并发出输出在 运行time 和基础 class 库中根深蒂固,这是不可能的,或者在至少不可行,有一个没有另一个。

您不能 运行 .NET 控制台应用程序完全忽略加载 .NET Framework,只是因为您没有使用 System.Console 或任何其他 class System 命名空间。

另见 Hans 在 Is mscorlib.dll/mscoree.dll loaded when .NET application runs 中的回答:

Technically it is possible to not get mscorlib.dll loaded [...] Practically that only works if you provide a substitute

如果您不想完全忽略 mscorlib,而只是对不使用 System.Console 写入控制台感到好奇,请参阅 MSDN: Console Functions。您必须使用平台调用。不过,这是有代价的:您的应用程序将仅在 Windows 上 运行,除非您 运行 正在使用的平台替换了相关的 DLL。