C# 结构体和类的区别
第一个问题:,“结构体”和“类”有啥区别?怎样辨别是结构体还是类!
结构体是一种值类型,而类是引用类型。(值类型、引用类型是根据数据存储的角度来分的)
就是值类型用于存储数据的值,引用类型用于存储对实际数据的引用。那么结构体就是当成值来使用的,类则通过引用来对实际数据操作。
第二个问题:两者里面是不是都有构造函数?为什么结构体用得比较少?
构造函数是为了初始化类的字段而存在的,而结构体并不需要初始化就能使用,因此,结构体中并不存在构造函数。
不能以使用多少来衡量,只是看相应问题使用最适合的方法罢了。结构体的定义是:有些数据既是相互关联的,又共同描述一个完整事物,如:一个学生的整体信息,学号、姓名、性别等。而类则使用在需要比较有层次的数据上面。
最大的区别还是结构体是值类型,类是引用类型。
概念:值类型直接存储其值,而引用类型存储对其值的引用。
值类型: |
byte,short,int,long,float,double,decimal,char,bool 和 struct 统称为值类型。 |
引用类型: |
string 和 class统称为引用类型。 |