黑马程序员技术交流社区

标题: C#可否对内存进行直接的操作? [打印本页]

作者: 重新开始    时间: 2013-10-22 15:52
标题: C#可否对内存进行直接的操作?
本帖最后由 重新开始 于 2013-10-23 10:02 编辑

C#可否对内存进行直接的操作?如果能原理过程是什么?
作者: 我一直在等待    时间: 2013-10-22 17:43
可以的,
c#中是有指针的,虽然很少用到,虽然使用时要加上"unsafe"
只针对这个问题,c#是可以的

可是使用时要加上"unsafe",这已经是他从c++过来的一个转变了

希望能帮助你!
作者: 姐的霸气谁懂    时间: 2013-10-22 18:33
这个问题比较难回答,也是个很大的问题。我只能大概的说一下了。C#是可以对内存进行直接操作的,虽然很少用到指针,但是C#是可以使用指针的,在用的时候需要在前边加unsafe,,在.net中使用了垃圾回收机制(GC)功能,它替代了程序员,不过在C#中不可以直接使用finalize方法,而是在析构函数中调用基类的finalize()方法。
作者: Liu阳    时间: 2013-10-22 20:11
可以的,unsafe范围内,我猜应该是告诉CLR我要直接用指针操作内存,你别来帮我托管,我自己管.
作者: §風過無痕§    时间: 2013-10-22 23:15
本帖最后由 §風過無痕§ 于 2013-10-22 23:16 编辑

MSDN官方说法:
为了保持类型安全,默认情况下,C# 不支持指针算法。不过,通过使用 unsafe 关键字,可以定义可使用指针的不安全上下文。有关指针的更多信息,请参见主题指针类型。http://msdn.microsoft.com/zh-cn/library/vstudio/y31yhkeb.aspx
作者: 杨靖    时间: 2013-10-22 23:36
C#不直接提供给程序员控制内存的接口吧,都是封装好的,和JVM一样又一个垃圾回收机制。
主要是为了让程序员更多的去关注功能的实现。
作者: 追溯客    时间: 2013-10-23 09:19
如问题被解决,请及时把分类设为"已解决",黑马有你更精彩!

作者: 追溯客    时间: 2013-10-25 12:04

同学给你加分了!好好学习!蔡蔡和叶叶在黑马等着你!黑马有你更精彩!快点为了当土豪努力吧!





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2