码迷,mamicode.com
首页 > 其他好文 > 详细

枚举与结构体

时间:2018-11-28 00:25:47      阅读:216      评论:0      收藏:0      [点我收藏+]

标签:load   byte   整型   container   focus   null   值类型   必须   app   

枚举与结构体

枚举 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. 结构体存在栈中,类在栈中存放的是堆中实例对象的内存地址

枚举与结构体

标签:load   byte   整型   container   focus   null   值类型   必须   app   

原文地址:https://www.cnblogs.com/iNeXTs/p/10029850.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!