首页 新闻 会员 周边

C#.NET 值类型和引用类型操作效率的疑问

0
悬赏园豆:20 [已解决问题] 解决于 2010-12-24 14:04

C#.NET 值类型按照教程说是存在栈上的,而引用类型是存在堆上的

但是C#是面向对象的语言,所以它是靠类和对象来组织程序代码的

而类和对象是引用类型的,是放在堆上的,同时也包括他们内部声明的值类型字段

也就是说除了指向类和对象的指针是放在栈上外,其他东西都在堆上

那么所谓的值类型和引用类型的操作效率之差是如何在C#.NET中体现的呢

肯请各位大大给我解惑,谢谢

coolray的主页 coolray | 初学一级 | 园豆:165
提问于:2010-12-24 13:43
< >
分享
最佳答案
0

基本类型都是值类型,如int bool double float 而string 虽然是引用类型,却当做值类型来使用。有些对象比较简单,也用值类型来实现 如Color,Point。值类型,每次都要复制其本身,而引用类型只是复制其引用。

收获园豆:20
DotNet1010 | 菜鸟二级 |园豆:260 | 2010-12-24 13:50
貌似是我这问题有问题 值类型和引用类型操作本身是存在差异的 而堆和栈的问题跟值类型和引用类型联系到不大了 关键在于编程语言
coolray | 园豆:165 (初学一级) | 2010-12-24 14:04
值类型因为存储在栈上所有可以直接提取,引用类型存储在堆栈上,需要首先从栈中获取引用地址,然后通过地址提取引用类型存储的信息
wgz | 园豆:1254 (小虾三级) | 2010-12-24 14:58
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册