A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 李奔 中级黑马   /  2013-6-1 09:14  /  1337 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

是不是所有的C#代码都是托管代码啊?
所以C#中的资源都不用手动释放,而是由CLR自动释放,是这样吗?
另外由于C#是托管代码,是不是不能像C、C++那样直接对内存进行操作?

5 个回复

倒序浏览
在.Net环境中运行的任何代码都是受管制的代码(managedcode),.Net外
部的代码也运行在windows上,这些代码称为未受管制的代码(unmanagedcode)
使用基于公共语言运行库的语言编译器开发的代码称为托管代码
using可以声明namespace的引入,还可以实现非托管资源的释放,实现了IDisposiable的类在using中创建,
using结束后会自动调用该对象的Dispose方法,释放资源。
c#也有指针 但是不常用
回复 使用道具 举报
谢谢!
怎么没有技术分啊???
回复 使用道具 举报
只要有继承IDisposable接口的都需要手动释放或者使用using

我们常用的:
如 FileStream、StreamWriter等继承了TextWriter,TextWriter继承了IDisposable接口
如 SqlConnection、Sqlcommand等继承了DbCommand,DbCommand也是继承了IDisposable接口
回复 使用道具 举报
谢谢大家的回复!
我就郁闷了,这里的管理员技术分都加到哪里去了???
为什么有的问题不错,回答的也不错,但却没有技术分,而有的却相反!!!
回复 使用道具 举报
李奔 发表于 2013-6-7 00:07
谢谢大家的回复!
我就郁闷了,这里的管理员技术分都加到哪里去了???
为什么有的问题不错,回答的也不错 ...

我是纳闷帖子发来发去总是那么几个人:L
黑马同学在哪里  QQ: $$$@$$(#(
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马