问题描述
我一直认为C#是它自己的环境,有点像NodeJS。我还说这是C ++和/或C的新的不同部分,但不是。我用谷歌搜索C#是一个环境,一堆页面,无数页面全部显示在搜索窗口中。搜索返回了数百个链接。我找不到特定的,是或否的信息,例如,“是C尖锐是环境,或者没有C尖锐不是环境”。我确实发现,c#具有一个环境类,其中包含许多方法,并且可以访问ENV。变量。我认为如果c#具有访问和操作其环境的本机类,那么它一定是环境,这就是它与NodeJS一起工作的方式。我一直在谷歌搜索和阅读,然后在Wiki上结束,我被告知c#不一定不是环境,而是计算机语言:
- “是一种通用的多范式编程语言,包含强类型,词法范围,命令式,声明式,函数式,泛型,面向对象(基于类)和面向组件的编程学科”。 -维基百科
那么它是环境还是环境,还是语言和环境。我知道有一个本机环境类,如果它不是自己的环境,那么它将与某些环境相互依存。所以我会以这个问题结束,所以我要问的是准确的。
我一直使用“环境”一词,但是正确的术语是RTE或“运行时环境”,因此我会稍微改变一下我的问题,问什么是C#的运行时环境。我无法想象没有一种语言,但是我想有任何可能,谢谢。
解决方法
C#是在.NET平台上运行的语言。
.NET过去仅是Windows,但是.NET Core(即将成为.NET 5)是跨平台的。
C#不能编译为本地代码。而是将其编译为在CLR(公共语言运行时)上运行的字节码。这类似于Java的JVM。
.NET Core和.NET 4.8之间存在一些向后兼容性问题;但这是另一个故事。