枚举与结构体
枚举 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
-
结构体和类都包含一个默认构造函数,但是结构体的默认构造函数不允许自己声明,类的默认构造函数可以进行声明使用
-
结构体和类都允许自定义构造函数,进行字段初始化,但结构体的必须对所有的字段进行初始化;类的可以选择性的初始化,剩余的会由系统进行默认的初始化
-
结构体的字段在声明时不允许进行初始化,类的字段可以在声明时进行初始化操作
-