枚举与结构体
枚举 enum
枚举的作用是用来增加代码的可读性,限制变量的使用范围。枚举有以下特点:
- 一个完整的枚举包括关键字enum、变量名、{}以及枚举值,例如:
enum Fruits{ Apple, Orange,}
- 枚举变量的声明要使用变量名,枚举值的调用也要使用变量名,使用如下:
Fruits apple = Fruits.Apple;
- 枚举字面值属于整型,默认是int类型,可以通过在变量名后指定某一值类型,枚举可选的整型包括:byte、sbyte、short、ushort、int、uint、long以及ulong。
enum Fruits:uint{ Apple, Orange,}
不同的类型限制了枚举值的取值范围,byte的可取值0~255,不能超出这个范围。
- 枚举值的默认值为0,往后依次递增加1。也可以在声明时,指定默认值。
enum Fruits{ Apple = 1, Orange,}
- 枚举值可以通过?声明为可空类型,接收null,Fruits? apple = null
结构体
结构体的存在和类很像,但又有很大的区别:
- 结构体是值类型,类是引用类型
- 结构体的声明使用关键字struct,类的声明使用关键字class
- 结构体和类都包含一个默认构造函数,但是结构体的默认构造函数不允许自己声明,类的默认构造函数可以进行声明使用
- 结构体和类都允许自定义构造函数,进行字段初始化,但结构体的必须对所有的字段进行初始化;类的可以选择性的初始化,剩余的会由系统进行默认的初始化
- 结构体的字段在声明时不允许进行初始化,类的字段可以在声明时进行初始化操作
- 结构体存在栈中,类在栈中存放的是堆中实例对象的内存地址
原文地址:https://www.cnblogs.com/iNeXTs/p/10029850.html
时间: 2024-10-12 19:23:43