C# 中 引用类型和值类型

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

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

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

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

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

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

原文地址:https://www.cnblogs.com/wang726zq/p/2423325.html