请问dataset 属于非托管代码吧?
如果是,是不是必须手动释放该对象呢?

解决方案 »

  1.   

    当然是托管代码阿,他属于.net类库里得。
      

  2.   

    托管代码 (managed code) 由公共语言运行库环境(而不是直接由操作系统)执行的代码。托管代码应用程序可以获得公共语言运行库服务,例如自动垃圾回收、运行库类型检查和安全支持等。这些服务帮助提供独立于平台和语言的、统一的托管代码应用程序行为。Unmanaged Code - 非托管代码 在公共语言运行库环境的外部,由操作系统直接执行的代码。非托管代码必须提供自己的垃圾回收、类型检查、安全支持等服务;它与托管代码不同,后者从公共语言运行库中获得这些服务。Copy---------------------------
      

  3.   

    是的,C#内面绝大多数的数据类型都是托管理的,非托管的很少,比如sqlconntion数据库连接的这个就是非托管的
      

  4.   

    错了...DataSet是100%的托管代码,非托管代码和非托管资源是两码事...DataSet使用了非托管资源,但不表示其是非托管代码...所有实现IDisposable接口的都是使用了非托管资源,但不表示它们是非托管代码...
      

  5.   

    编译成机器代码,直接在CPU上跑的,是非托管代码。编译为中间语言,在虚拟机跑的,是托管代码。
      

  6.   

    建议你看看此文http://www.cnblogs.com/luminji/archive/2011/03/29/1997812.html
      

  7.   

    TO cao zhy
    我怎么知道 哪些代码会编译成机器码,哪些代码编译成微软中间语言?
    可以在哪里看到么?
      

  8.   

    托管的,非托管的好像要加 unsafe前缀的。