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“啦
下期见