C#基础(3)数据类型(枚举,结构,类)
说到C#的数据类型,你会想到什么,是,int,float这种数值类型,还是其他,对于这篇文章,将来讲解C#的数据类型。C#的数据类型大体可以分为值类型以及应用类型两种大类,而int,float等都可以分类为这两大类的其中之一。
值类型
值类型,顾名思义,在其栈上是直接储存的数据,而不是想引用类型那样储存的是一个引用的地址。
值类型又可以分为结构,以及枚举类型。
先说结构把,结构中包含的就是我们较为熟悉的数值类型,像是int,double等,以及bool和char类型,这些类型的大小往往是确定的,所以可以直接将值储存于栈中。
而枚举是一种类型,举个列子
public enum sex{
man,woman
}
当然,你也可以对其进行赋值
public enum sex{
man=1,
woman
}
当man赋值为1时,那么woman自动会赋值为2,如果不进行赋值,那么man会自动赋值为1,后面的元素都会递增,当然你也可以“打破施法”,在第二个元素赋值为3,那么第三个元素就会直接赋值成4,而不是按原来的节奏走。
引用类型
在值类型中储存的是值,那么在引用类型中储存的当然就是引用地址了。在引用地址中式一个堆的地址,而堆中才可能是储存的值(也有可能进行一个娃的套,引用所指的地址中依然是一个引用地址,像是二维数组),而堆和栈我会在下一期讲解
回到引用类型,引用类型主要是包涵了接口和类,在类中就是我们所熟知的string,Array等,当然还有委托类型也是类中,至于这些是什么,还要在以后在说。引用类型的特点个人觉得就是和值引用差不多,他们的长度的大小基本上都是不定的,就算是数组也是要在确定后才能使用,在此之前电脑并不知道他们多长,所以需要一个地址去引用,防止栈中所占大小过多。