12_枚举&结构体

  • 枚举

    • 是一种数据类型
    • 适用于某些取值范围有限的数据
    • 语法:
      • [访问权限修饰符] enum 枚举名 { 枚举值 }
      • 枚举名遵循大驼峰命名法
      • 枚举一般情况下是和switch case结合使用的
    • 注意:
      • 1、虽然枚举中的元素的值可以相同,但是强烈不推荐这样使用
      • 2、枚举元素默认的值类型是int型,可以修改为其他的整型
  • 结构体
    • 结构体和类基本一样

      • 相同点:

        • 都包含字段、属性、方法
        • 修饰的访问权限
        • 都是通过关键字new来实例化对象
      • 区别点:
        • 结构体对象是在栈上开辟的空间
        • 类对象在堆上开辟空间
        • 结构体是值类型,不是引用类型
        • 构造方法
          • 结构体中不允许写无参构造方法
          • 结构体的有参构造方法中必须要给所有的字段进行赋值
          • 结构体中始终包含一个public权限的无参构造方法
        • 结构体中不允许写析构方法
        • 结构体只有一个父类叫Object,结构体不能被其他结构体或类继承,也不能继承自其他结构体和类
    • 语法:
      • [访问权限修饰符] struct 结构体名字 {}

转载于:https://www.cnblogs.com/chriswong/p/10363178.html

C#学习笔记_12_枚举结构体相关推荐

  1. # 遍历结构体_C#学习笔记05--枚举/结构体

    一.枚举 当变量的取值范围是固定的几个, 例如性别--男,女; 英雄类型 -- 法师, 刺客.战士, 射手等等. 这时就可以使用枚举类型, 会更加简洁方便. 1.1.定义: 访问修饰符 enum 枚举 ...

  2. Swift学习笔记 (十八) 结构体和类

    结构体和类作为一种通用而又灵活的结构,成为了人们构建​代码的​基础.你可以使用定义常量.变量和函数的语法,为你的结构 体和类定义属性.添加方法. 与其他编程语⾔所不同的是,Swift 并不要求你为自定 ...

  3. 如何在结构体里面套结构体_Rust 学习笔记-13 Rust 结构体

    什么是结构体 数组用于表示值的同构集合.类似地,结构体是Rust中另一个用户定义的数据类型,它允许我们组合不同类型的数据项,包括另一个结构体.结构体将数据定义为键值对. 定义一个结构体 struct ...

  4. c语言如何宏定义枚举型结构体,C语言学习笔记--枚举结构体

    枚举 枚举是一种用户定义的数据类型,它用关键字enum以如下语法格式来声明: enum 枚举类型名字 {名字0,名字1,...,名字n}: 枚举类型名字通常并不真的使用,要用的是大括号里面的名字,因为 ...

  5. 一起学习C语言:结构体(二)

    上一篇<一起学习C语言:结构体(一)> 中,我们了解了结构体的概念与定义形式,以及结构体变量初始化赋值.本章节,我们分析结构体成员访问形式,以及结构数组使用的场景. 章节预览: 4. 结构 ...

  6. 5G NR学习笔记:帧结构和物理资源

    5G NR学习笔记:帧结构和物理资源 参数集(numerology) 与LTE的参数集(子载波间隔和符号长度)不同,NR支持不同的子载波间隔(Sub-Carrier Spacing, SCS),所有的 ...

  7. Linux学习-文件IOA1——用结构体和文件操作函数实现文件的拷贝

    Linux学习-文件IOA1--用结构体和文件操作函数实现文件的拷贝 其实我们不必选用结构体去实现模仿拷贝功能的,但是为了锻炼我们的思维以及对结构体.文件操作函数的使用,所以我们就这样来折腾自己. 学 ...

  8. 学习STM32单片机之结构体思想

    学习目标: 掌握 STM32 基础知识 学习STM32单片机之------结构体思想 学习内容: 1.我们在操作寄存器的时候,操作的是寄存器的绝对地址,如果每个寄存器都这样操作,那将非常麻烦. 2.我 ...

  9. c# 拷贝结构体_C#学习之Partial、结构体、枚举

    1.继承时的一个概念,"把不变的内容写到基类,在子类里写经常改变的内容".导致一个类仲只要有经常改变的内容,我们就要为它声明一个派生类,如果改变的部分比较多,我们还得声明多个或多层 ...

最新文章

  1. LOJ2586 APIO2018 选圆圈
  2. 我来阅读lodash源码——Math(一)
  3. MATLAB GUI界面显示不全的解决办法
  4. struts2.2.3需包含的jar包
  5. MySQL 常用30种SQL查询语句优化方法
  6. 2015山东春考计算机分数排名,2015-2017年山东春季高考分数线.docx
  7. C#使用集合组织相关数据
  8. Android Weekly Notes Issue #218
  9. Uber新CEO的第一把火:停止运营Xchange Leasing租车业务
  10. oracle节假日,oracle 产生节假日表
  11. matlab画图不显示中文_如何解决 Matlab 画图时中文显示乱码的问题?
  12. 小程序开发语言python_微信小程序是用什么语言开发的呢
  13. NLP-D38-nlp比赛D7-pytorch踩坑继续刷题
  14. 联想台式机重装系统方法总结
  15. Java面试题考试题112道
  16. 好文:华杉:我等用功,不求日增,但求日减。减一分人欲,则增一分天理,这是何等简易!何等洒脱!...
  17. 怎么解决浏览器提示无法加载shockwave flash?
  18. 前端工程化系列[01]-Bower包管理工具的使用
  19. ESP32S2 固件烧录需满足的硬件环境整理
  20. File类(常用方法、遍历目录下的文件、listFiles()方法和删除文件及目录)

热门文章

  1. linux如何增加一个进程,linux – 如何增加新生成进程的CPU频率
  2. Systrace的用法小结
  3. 简单又复杂的人工神经网络
  4. 大数据的“媒体玩法”
  5. Nginx+tomcat+memcached缓存共享session
  6. Ubuntu下 5步安装nginx记录
  7. Eclipse之Undefined attribute name 警告解决办法
  8. 为什么我使用Java
  9. bash awk_Bash指南,Linux终端技巧,DevOps错误,Python,awk,NASA等
  10. java vert.x_使用Vert.x将JavaScript引入Java企业