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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 飞、 中级黑马   /  2013-10-21 19:02  /  1371 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 飞、 于 2013-10-21 20:03 编辑

该怎么描叙值类型与引用类型呢??望求精简语言

评分

参与人数 1技术分 +2 收起 理由
追溯客 + 2 给你两分!!大飞你25了,不能再多了!.

查看全部评分

3 个回复

倒序浏览
引用类型传递的是变量的地址,相当于指针,而值类型传递的是真实的值,

评分

参与人数 1技术分 +1 收起 理由
追溯客 + 1

查看全部评分

回复 使用道具 举报
C#的值类型包括:结构体(数值类型,bool型,用户定义的结构体),枚举,可空类型。
C#的引用类型包括:数组,用户定义的类、接口、委托,object,字符串。

引用类型在栈中存储一个引用,其实际的存储位置位于托管堆。为了方便,本文简称引用类型部署在托管推上。
值类型总是分配在它声明的地方:作为字段时,跟随其所属的变量(实例)存储;作为局部变量时,存储在栈上。
值类型在内存管理方面具有更好的效率,并且不支持多态,适合用作存储数据的载体;引用类型支持多态,适合用于定义应用程序的行为。

评分

参与人数 1技术分 +1 收起 理由
追溯客 + 1

查看全部评分

回复 使用道具 举报
值类型的实例经常会存储在栈上的。但是也有特殊情况。如果某个类的实例有个值类型的字段,
那么实际上该字段会和实例保存在一个地方,即堆栈中。不过引用类型的对象总是存储在堆中。
如果一个结构字段是引用类型,那么只有引用本身是和结构实例存储在一起的(或堆或栈上,视情况而定)。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马