.NET 之路 | 018 C# 基础:值类型和引用类型的存储结构

       我们知道,程序运行时,它的数据是存储在内存中的。当我们的程序访问某个变量时,编译器负责把人们可以理解的变量名转换为处理器可以理解的内存地址,处理器通过内存地址找到内存中的存储单元,然后读取其中的数据。
  运行中的 .NET 应用程序使用两个区域来存储数据:栈和托管堆,其中托管堆简称为堆。
  我们也知道,C# 中的数据类型分为两种:值类型和引用类型。值类型包含所有的数字类型(如 byte、int、long、double 等)、布尔型(bool)、字符(char)、结构(struct)和枚举(enum),其它的都是引用类型(如类、接口、数组等)。
  数据的类型不仅决定了数据存储需要的内存大小,还决定了对象在内存中存储的位置(栈或堆)。理解值类型和引用类型的特点和它们在内存中的存储结构,就能了解它们是如何以及何时进行内存分配和回收的,这有助于帮助我们编写更高性能的应用程序。
  栈与值类型
  值类型变量的值是存储在栈中的。学过数据结构我们都知道,栈是一个后进先出(LIFO)的数据结构。这种数据结构的主要特征是,数据只

.NET 之路 | 018 C# 基础:值类型和引用类型的存储结构最先出现在Python成神之路

版权声明:
作者:lichengxin
链接:https://www.techfm.club/p/8230.html
来源:TechFM
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
< <上一篇
下一篇>>