前言
不知不觉已经踏入坑已10余年之多,对于c#多多少少有一点自己的认识,写出来渴求同类抨击,对自己也算是个十年之痒的一个总结。
C#把数据类型分为值类型和引用类型
1.1:从概念上来看,其区别是值类型直接存储值,而引用类型存储对值的引用。
1.2:这两种类型在内存的不同地方,值类型存储在堆栈中,而引用类型存储在托管对上。存储位置的不同会有不同的影响。
下面话不多说了,来一起看看详细的介绍吧
基本概念
CLR支持两种类型:值类型和引用类型。 面试过很多5年左右的同学,有很多连值类型和引用类型的基本概念都回答不上来,难道现在的c#开发人员基础这么弱了吗?还是大家都不重视基础呢?这个随便找一篇博客都可以基础入门的。
引用类型
哪些类型是引用类型呢?其实一个可以称为”类“的类型都是引用类型。 引用类型总是从托管堆上分配的,常用的语法就是New XX(). C#的new 操作符会返回对象的指针 - 也就是指向对象数据的内存地址的一个引用。引用类型的传递其实传递的是对象的指针(string类型比较特殊),所以在特定的场景下性能是高于值类型的。一个引用类型在创建时默认为null,也就是说当前变量不指向一个有效的对象,也就是我们常遇到的异常“未将对象引用设置到对象的实例”。











