C#中的不安全代码和非托管代码有什么区别?

ash*_*ish 16 .net c#

C#中的不安全代码和非托管代码有什么区别?

Nul*_*ion 17

托管代码在CLR(公共语言运行时)的监督下运行.这对内存管理和垃圾收集等事情负责.

所以unmanaged只是在CLR的上下文之外运行.不安全是一种"介于"管理和非托管之间.不安全仍在CLR下运行,但它可以让你直接通过指针访问内存.