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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 劇情侢媄終究媞 中级黑马   /  2014-5-27 01:43  /  4181 人查看  /  7 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 劇情侢媄終究媞 于 2014-5-28 00:32 编辑

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

评分

参与人数 1技术分 +1 收起 理由
czwanglei + 1

查看全部评分

7 个回复

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

评分

参与人数 1技术分 +1 收起 理由
czwanglei + 1

查看全部评分

回复 使用道具 举报 1 0
有,但是要我们手动的标记为不安全的(unsafe),C#是属于托管代码,没必要用指针取操作内容,而且搞不好还容易出错

评分

参与人数 1技术分 +1 收起 理由
czwanglei + 1

查看全部评分

回复 使用道具 举报
delegate就相当于指针,,,,,
回复 使用道具 举报
C和C++的指针最为经典,使用指针也很危险
回复 使用道具 举报
在不安全代码中可以使用指针,需要标记为unsafe

评分

参与人数 1技术分 +1 收起 理由
czwanglei + 1

查看全部评分

回复 使用道具 举报
--_— 中级黑马 2014-5-28 00:19:38
7#
指针很让人头疼,c#中把它加入不安全代码中(unsafe),省去了一些C和C++的烦恼
回复 使用道具 举报
引用型几乎等于指针
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马