C# 中 引用类型和值类型

首先研究什么是值类型,什么是引用类型,两种有什么不同?

CLR支持两种类型:值类型引用类型。.net框架参考文档已经明确指定了那种类型是值类型,那种类型是引用类型,如下图:

值类型和引用类型最根本的区别是:两者在内存中的分配位置不同,值类型(Value Type)的实例分配在线程的堆栈上,而引用类型(Reference Type)的实例总是从托管堆上分配内存。

通俗的说:值类型就是:在内存中开辟一块空间,存的是实际的值;

              引用类型是:在内存中开辟一块空间,存的是地址;

附加:string类型很多人也许认为他是值类型,但他却是引用类型,但具备很多值类型的特点.  -- 特殊的引用类型

posted @ 2012-03-29 14:22  初雪之恋  阅读(142)  评论(0编辑  收藏  举报