C#中枚举和结构解释(少儿版)

1,枚举

2,结构

枚举:

给与coder自己定义数据类型的权力,

例如,我们希望玩家通过输入数字1234来定义游戏内行走的方向,

枚举的名称是 enum,

设其变量名称为orientaion

enum orientaion 
{

north ,
      
south ,
      
east ,
      
west,

}

将鼠标放入东南西北中,会发现north被赋予了0,south被赋予了1,这有些像是我们平常生活中的”指代“,例如幼儿园老师上课时,将一盒牛奶来指代“长方体”这个概念以教育小朋友

C#并不关心我们在枚举中举出的各种千奇百怪的东西(比如我们在上述代码中选择了东南西北四个方向,我们也可以改成春夏秋冬,或者小,则,又,沐,风等等各种),C#只是将第一个枚举内容默默记为0,第二个默默记为1,以方便我们接下来只需要输入0,1,2,3就可以调用东西南北四个方向的内容。

当然你也可以让C#按照你的定义来标记他们,

enum orientaion : byte
    {
    
      north = 1,
      
      south = 2,
      
      east = 3,
      
      west = 4,
    
    }

这里,Norh就会是1,而不是前面默认的0啦。

试试看 创建一个枚举

orientaion myDrection = (orientaion)1;

Console.WriteLine(myDrection  );

控制台会输出 North还是South呢?

这样,我们就实现了用数字去操控枚举里的内容

那么“结构”(struct)呢?

一听到结构,我们会想到一栋大厦里的钢筋水泥,或是人体的骨骼这种复杂且精妙的东西吧?

其实C#里的结构并不复杂,更多的是给与你“创造”的权力,如果你嫌麻烦,上述例子中的一块砖,或者一块骨头,都能被称之为“结构“(struct)

让我们先创造属于自己的一块砖吧。

结构是“struct”

struct route
    {

public orientaion direction;

public double distance;

}

在上述结构里,我们定义了一个枚举“orientation”,和一个数字 distance,实际上,一个“结构”就这样完成了,恭喜你搬出了人生中的第一块“砖”!怎么样,是不是很简单,但是,怎么用呢?

在Main主程序函数中

初始化一下,与调用方法相同

route myRoute;

int myDirection = 1;
double myDistance = 3;

myRoute.direction = (orientaion)myDirection;
myRoute.distance = myDistance;

Console.WriteLine("direction: {0},distance: {1}", myRoute.direction,myRoute.distance);

OK,输出结果,控制台会输出方向和距离,就是”Norh“和”3“啦
下期见

C#中枚举和结构解释(少儿版)相关推荐

  1. Swift 中枚举、结构体、类(enum、struct、class)

    Swift 中枚举.结构体.类(enum.struct.class) Swift中的枚举与OC相比不会自动分配初始值,值的类型不会限定为整数,可以给定关联值类型和具体值(整型.浮点型.字符型(Swif ...

  2. STM32编程中枚举和结构体的结合

    01.结构体定义 基本定义:结构体,通俗讲就像是打包封装,把一些有共同特征(比如同属于某一类事物的属性,往往是某种业务相关属性的聚合)的变量封装在内部,通过一定方法访问修改内部变量. 结构体的定义: ...

  3. Python中的__init__()方法整理中(两种解释)

    解释一:看懂了就不用看第二种了 __init__()方法是Python学习当中重要的基础知识,__init__()方法意义重大的原因有两个.第一个原因是在对象生命周期中初始化是最重要的一步:每个对象必 ...

  4. 【C#】枚举_结构体_数组

    最近看C#视频,关于这部分,先看了一遍,又照着敲了一遍,自己敲的过程发现了一些有意思的东西. 枚举:定义一个枚举类型的变量,这个变量有很多相同类型的值.比如性别Gender这个变量可以有男和女这两个值 ...

  5. 癌症中克隆种群结构统计推断分析软件PyClone安装小记

    由于微信不允许外部链接,你需要点击文章尾部左下角的 "阅读原文",才能访问文中链接. PyClone 是一种用于推断癌症中克隆种群结构的统计模型. 它是一种贝叶斯聚类方法,用于将深 ...

  6. 1.0 基础、标示符、常量、数据类型(enum 枚举,struct 结构体)、操作符、循环、数组...

    一.程序 现实生活中,程序是指完成某些事务的一种既定方法和过程,可以把程序看成是一系列动作执行过程的描述. 在计算机世界,程序是指令,即为了让计算机执行某些操作或解决某个问题而编写的一系列有序指令的集 ...

  7. 输出php数组结构,在PHP中输出数组结构使用 函数 。

    在PHP中输出数组结构使用 函数 . 更多相关问题 南京长江第三大桥是什么时候通车的?() 抗爆性可以判断汽油在发动机中燃烧是否易于发生不正常的(). 道岔尖轨.心轨.基本轨的爬行.窜动量不得超()m ...

  8. 理解Linux系统中的load average(图文版)转载

    理解Linux系统中的load average(图文版) 博客分类: Linux linux load nagios  一.什么是load average? linux系统中的Load对当前CPU工作 ...

  9. java中分支_[Java教程]JavaScript中的分支结构

    [Java教程]JavaScript中的分支结构 0 2016-06-30 23:03:37 说到JavaScript中的分支结构,我们就不得不提到流程控制这个词,我们所有的程序都是由数据和算法组成的 ...

最新文章

  1. CTO(首席技术官)
  2. Python基础08-数据类型:集合set
  3. OSS 下载延迟或超时
  4. Servlet使用适配器模式进行增删改查案例(IDeptDao.java和IEmpDao.java)
  5. python的OS库测试
  6. HTML5的 2D SVG和SVG DOM的学习笔记(2)---SVG动画
  7. 用Eclipse创建一个spring boot(创建,并配好controller)
  8. VMware vSphere学习之手动克隆虚拟机
  9. 微信小程序云开发-时间存储、转换、比较
  10. 配置idea开发go编程语言并配置导入本地包
  11. MPQ Storm库 源码分析 一
  12. 计算机网络原理恺撒密码/列置密码总结
  13. CAD2007 病毒 处理办法
  14. 道路设计基础知识,让你一秒变大师
  15. 计算机上自带的打字游戏,完美运行金山打字通2016(包括自带的小游戏)
  16. nothing else left on those streets
  17. wamp5工具安装介绍
  18. Kafka:分布式消息系统
  19. 基于云效Flow配置 Jenkins 源
  20. 字长模型LP64,ILP64,LLP64,ILP32,LP32

热门文章

  1. FPGA学习——数字密码锁(上)
  2. 怎样与团队成员沟通,从而提高团队的执行力?
  3. php音视频边下边播,视频个别片段加旁白,就是我边播放视频边录制旁白或声音...
  4. 国内低代码开发平台发展现状
  5. 最全maven archetype 配置!
  6. CSDN下载积分获取途径
  7. php 怎么远程包含,利用PHP应用程序中的远程文件包含(RFI)并绕过远程URL包含限制...
  8. esc中文是什么意思_Esc 是什么意思? 有什么含义吗?
  9. CVS 常用操作命令
  10. Windows 11:面子仿苹果,里子反苹果