枚举与结构体

枚举与结构体

枚举 enum

枚举的作用是用来增加代码的可读性,限制变量的使用范围。枚举有以下特点:

  1. 一个完整的枚举包括关键字enum、变量名、{}以及枚举值,例如:

enum Fruits{
   Apple,
   Orange,
}
  1. 枚举变量的声明要使用变量名,枚举值的调用也要使用变量名,使用如下:

Fruits apple = Fruits.Apple;
  1. 枚举字面值属于整型,默认是int类型,可以通过在变量名后指定某一值类型,枚举可选的整型包括:byte、sbyte、short、ushort、int、uint、long以及ulong。

enum Fruits:uint{
   Apple,
   Orange,
}

不同的类型限制了枚举值的取值范围,byte的可取值0~255,不能超出这个范围。

  1. 枚举值的默认值为0,往后依次递增加1。也可以在声明时,指定默认值。

enum Fruits{
   Apple = 1
   Orange,
}
  1. 枚举值可以通过?声明为可空类型,接收null,Fruits? apple = null

结构体

结构体的存在和类很像,但又有很大的区别:

  1. 结构体是值类型,类是引用类型

  2. 结构体的声明使用关键字struct,类的声明使用关键字class

  3. 结构体和类都包含一个默认构造函数,但是结构体的默认构造函数不允许自己声明,类的默认构造函数可以进行声明使用

  4. 结构体和类都允许自定义构造函数,进行字段初始化,但结构体的必须对所有的字段进行初始化;类的可以选择性的初始化,剩余的会由系统进行默认的初始化

  5. 结构体的字段在声明时不允许进行初始化,类的字段可以在声明时进行初始化操作

  6. 结构体存在栈中,类在栈中存放的是堆中实例对象的内存地址

转载于:https://www.cnblogs.com/iNeXTs/p/10029850.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值