首页 新闻 搜索 专区 学院

c#中能不能直接操作内存,为什么?

0
[已解决问题] 解决于 2008-10-09 16:02
c#中能不能直接操作内存,为什么?
longwangchi的主页 longwangchi | 初学一级 | 园豆:200
提问于:2008-08-09 09:13
< >
分享
最佳答案
0
对于Manage代码,操作内存是不安全的。因此,.NET中一般不允许你直接操作内存。 为什么说是不安全的呢? 我们知道,.NET相比C++最值得称赞的是他的GC(垃圾回收机制)。GC会在系统空闲或内存不足的时候自动回收不再被使用的对象。因此,我们不再需要向C++编程一样处处小心内存泄漏。同时,为了提高内存的使用效率,GC在回收内存的时候,会对内存进行整理,有些类似硬盘整理的原理。从而导致对象被在内存中移位。 吼吼,知道为什么.NET不推荐你直接访问内存了吧。
Colin Han | 老鸟四级 |园豆:3041 | 2008-08-09 14:23
其他回答(2)
0
可以操作内存,包括使用指针,都是可以的 不过多数时候都需要把这些代码声明为unsafe,也就是不安全的代码
丁学 | 园豆:18530 (专家六级) | 2008-08-09 13:40
0
可以的。
金鱼 | 园豆:1090 (小虾三级) | 2008-08-09 23:24
的确,把代码设置为unsafe就可以操作内存了。
支持(0) 反对(0) 深山老林 | 园豆:222 (菜鸟二级) | 2010-04-08 19:23
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册