<p style="background: gray; color: #ffffff; font-size: 18pt;">前言
这次分享的主要内容有五个,分别是值类型和引用类型, 装箱与拆箱,常量与变量,运算符重载,static字段和static构造函数. 后期的分享会针对于C#2.0 3.0 4.0 等新特性进行. 再会有三篇博客 这个系列的就会结束了. 也算是自己对园子中@Learning Hard出版的<
1.1 值类型与引用类型简介C#值类型数据直接在他自身分配到的内存中存储数据,而C#引用类型只是包含指向存储数据位置的指针。
C#值类型,我们可以把他归纳成三类: 第一类: 基础数据类型(string类型除外):包括整型、浮点型、十进制型、布尔型。 整型包括:sbyte、byte、char、short、ushort、int、uint、long、ulong这九种类型; 浮点型就包括 float 和 double 两种类型; 十进制型就是 decimal ; 布尔型就是 bool 型了。 第二类:结构类型:就是struct型 第三类:枚举类型:就是enum型 C#引用类型有五种:class、interface、delegate、object、string、Array。上面说的是怎么区分哪些C#值类型和C#引用类型,而使用上也是有区别的。所有值类型的数据都无法为null的(这里可空类型是可以为空的),声明后必须赋以初值;引用类型才允许 为null。
1.2 值类型与引用类型的区别值类型与引用类型的区别是面试中经常经常问到的问题,完美的回答当然不能只是简单地重复两者的概念,因为面试官更希望你答出他们之间深层的区别--不同的内存分布值类型通常被分配到县城的堆栈上,而引用类型则被分配到托管堆上。不同的分配位置导致了不用的管理机制,值类型的管理由操作系统负责,而引用类型的管理则由垃圾回收器(GC)负责。
<div class="cnblogs_code">
valueType =
regType = }