跟大家谈讨C#中数据类型的值类型与引用类型的问题~

zoom3000s 2008-04-08 12:14:32
在C#中一切数据类型都是从object类型继承而来的,而object 是引用类型的。那为什么从object继承而来的这些数据类型为什么会有值类型和引用类型的?比如int就是引用类型的,string是引用类型的。在百度里搜了一下,发现网上也没有很好的答案,不过,搜到过CSDN上以前有人问过,但答案也没有很令人满意的。有人说,是因为 值类型继承不仅继承自object,还继承了一些接口所以变成值类型。但经过我查MSDN,并没有一个这样的接口,此答案并不能让我信服。但经过仔细分析后发现,所有的值类型的数据类型都是一个结构,而不是类,所有引用类型的数据类型都是类。这给我一个启发,数据类型的值类型和引用类型的分别有没有可能是结构和类的区别造成的呢?大家都知道结构就是值类型的它被存在栈中,而类是引用类型的所以它就被存储在堆中。是不是由于类和结构在堆栈中存储位置不同造成了这种虽然所有类型都是继承自object但有的类型是值类型有的引用类型的现象呢?
希望大家各抒己见~
...全文
54 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
vrhero 2008-04-08
  • 打赏
  • 举报
回复
去看看ValueType...MSDN也要学会怎么用...

http://msdn2.microsoft.com/zh-cn/library/system.valuetype(VS.80).aspx

110,535

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧