C# 是封装在运行时环境中,还是像程序员提供编译器、调试器和库的传统 C/C++ 语言?

Is C# wrapped in a runtime env, or is it like the traditional C/C++ languages where the programmer provides the compiler, debugger, and libraries?

有想看其他语言的冲动,反复考虑的就是C#。我对它了解不多,很好奇它是如何设计的。 C# 是否像许多其他现代语言一样使用运行时环境?或者 C# 更像是两种传统的 C 语言——C 和 C++——在程序员(或 IDE)必须提供编译器、调试器和库来构建和调试可执行文件的意义上?

C# 是 运行 .NET 平台上的一种语言。

.NET 曾经只是 windows,但 .NET Core(即将成为 .NET 5)是跨平台的。

C# 不会编译为本机代码;相反,它在 CLR(公共语言运行时)上编译为 运行 的字节码。这类似于 Java 的 JVM。

.NET Core 和 .NET 4.8 之间存在轻微的向后兼容性问题;但那是另一回事了。