| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 507 人关注过本帖
标题:值与引用
只看楼主 加入收藏
panchong
Rank: 2
等 级:论坛游民
帖 子:51
专家分:29
注 册:2009-7-1
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:5 
值与引用
值与引用到底有什么区别?
2009-07-27 10:52
baikil
Rank: 10Rank: 10Rank: 10
来 自:X星球
等 级:青峰侠
威 望:4
帖 子:282
专家分:1580
注 册:2009-7-20
收藏
得分:10 
值类型就是传递的时候对值的传递,
引用类型就是传递的一个地址.

自创QQ群64885635,方便C#学习交流.希望各项工作路好学都好入!
2009-07-27 11:43
乖老鼠
Rank: 5Rank: 5
来 自:四川省
等 级:职业侠客
威 望:2
帖 子:434
专家分:394
注 册:2008-9-8
收藏
得分:10 
类型总是在内存中占用一个预定义的字节数(例如,int类型占4个字节,而string类型占用的字节数会根据字符串的长度不同而不同),当声明一个值类型变量时,会在栈中分配适当大小的内存(除了引用类型的值类型成员外,如类的int字段),内存中的这个空间用来存储变量所含的值。.NET维护一个栈指针,它包含栈中下一个可用内存空间的地址。当一个变量离开作用域时,栈指针向下移动被释放变量所占用的字节数,所以它仍指向下一个可用地址。

引用变量也利用栈,但这时栈包含的只是对另一个内存位置的引用,而不是实际值。这个位置是托管堆中的一个地址。和栈一样,它也维护一个指针,包含堆中下一个可用内存空间的地址。但是,堆不是先入后出的,因为对对象的引用可在我们的程序中传递(例如,作为参数传递给方法调用),堆中的对象不会在程序的一个预定点离开作用域。为了在不使用在堆中分配的内存时将它释放,.NET定期执行垃圾收集。垃圾收集器递归地检查应用程序中所有的对象引用。引用不再有效的对象使用的内存无法从程序中访问,该内存就可以回收。

这样简单的概念问题可以直接在网上搜到很多答案,LZ也太懒了

[[it] 本帖最后由 乖老鼠 于 2009-7-27 14:07 编辑 [/it]]

转眼就从编程菜鸟混成了半灌水
2009-07-27 14:05
panchong
Rank: 2
等 级:论坛游民
帖 子:51
专家分:29
注 册:2009-7-1
收藏
得分:0 
没办法,我就是有点懒
2009-07-27 15:26
smltq
Rank: 6Rank: 6
等 级:侠之大者
威 望:8
帖 子:566
专家分:400
注 册:2008-1-21
收藏
得分:0 
不是一般的懒。。。。

简单的生活
2009-07-29 12:00
lxl459700
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2009-6-23
收藏
得分:0 
那时相当的懒
2009-07-29 21:48
快速回复:值与引用
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.014896 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved