.net 可以看做是另一种的java,但是比java扩展性要高。
类比:
.net被csc编译时会生成IL代码,IL通过JIT(即时编译)运行于CLR(公共语言运行时)(可以进一步细化说是在CLI)上。
java文件被javac编译生成class文件,class文件通过java解释器运行于java虚拟机上。
.net的扩展性高,其支持的语言类型更广泛,除了C#、VB外,甚至还支持C++.
using <mscorlib.dll>
//需要设置使用公共语言运行时
//https://blog.csdn.net/qq_35789421/article/details/103926811
使用.net 运行C++代码后,可以从dnspy导出一个C#项目,但是由于C++不是严格意义上的.net结构,有一部分是直接编译成二进制可以直接运行的程序的,导出的项目无法正常使用。
gc机制:
.net的垃圾回收机制比较有意思,不是即时回收,而是当内存不够的时候才会运行回收程序。