黑马程序员技术交流社区

标题: C#中有没有指针这个概念 [打印本页]

作者: 劇情侢媄終究媞    时间: 2014-5-27 01:43
标题: C#中有没有指针这个概念
本帖最后由 劇情侢媄終究媞 于 2014-5-28 00:32 编辑

如题.有过C语言基础的同学都知道.C语言里面有指针,可以直接分配内存,直接对底层操作,C#是C发展过来的.想问各位同学,C#中有没有指针这个概念,
C# 能不能做底层开发?


作者: 许庭洲    时间: 2014-5-27 05:12
1.在C和C++的程序看来,指针即是它们最强有力地工具之一,同时又给他们带来了很多苦恼之处;
2.因为指针指向的数据类型不可能不相同,比如你可以把int类型的指针指向一个float类型的变量,而这时程序并不会出错。
3.而且,如果删除了一个不应该删除的指针(比如Windows中指向主程序的指针),程序就有可能崩溃。
4.由此可见,滥用指针会给程序的安全性埋下了隐患。
5.正因为如此,在C#语言中取消了指针这个概念;
6.当然,对指针恋恋不舍得程序员仍然可以在C#中使用指针,但必须声明这段程序是“非安全”(unsafe), 而在C#中采用的是引用类型-----代表 (delegate), 它实际上相当于C#中的函数指针原型。
7. 与指针不同的是,代表在C#是类型安全的。
作者: continue     时间: 2014-5-27 09:25
有,但是要我们手动的标记为不安全的(unsafe),C#是属于托管代码,没必要用指针取操作内容,而且搞不好还容易出错

作者: 袁晓俊    时间: 2014-5-27 10:51
delegate就相当于指针,,,,,
作者: 但愿''专注..    时间: 2014-5-27 16:49
C和C++的指针最为经典,使用指针也很危险
作者: 林枫    时间: 2014-5-27 19:07
在不安全代码中可以使用指针,需要标记为unsafe
作者: --_—    时间: 2014-5-28 00:19
指针很让人头疼,c#中把它加入不安全代码中(unsafe),省去了一些C和C++的烦恼
作者: yllogininbh    时间: 2014-6-1 22:14
引用型几乎等于指针




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