看到这里很迷惑  托管代码与非托管代码  和  托管类型与非托管类型 之间有什么联系??

解决方案 »

  1.   

    个人觉得这样理解会好些:托管:是让.NET框架去操作系统来作业.
    非托管:是直接让操作系统去作业.
      

  2.   

    对于mystruct 结构来说   mystruct a1      那么a1就是存储在堆栈上的非托管类型,可以有指针指向它
    对于 mystruct2 类来说 mystruct2 a2= new mystruct2()  那么a2就是存储在托管堆上的托管类型,此时指针必须在fix情况下才能指向它是这样吗??
      

  3.   

    mystruct a1      那么a1就是存储在堆栈上的非托管类型
    --------------------------
    不是吧.
      

  4.   

    托管类型是.NET CLR能够识别的类型,托管代码是.NET CLR能够执行的代码(MSIL)。
    所有C#或者VB.NET写的代码都是托管代码,所有的类型都是托管类型,不论是reference type还是value type。非.NET的Windows类库(比如Unmanaged C/C++, COM等等)都是非托管类型,非托管代码。唯一的例外是Managed C++,可以混合两者,比如可以在一个托管类型里面定义一个非托管的函数代码(#pragma unmanaged)。