枚举与结构体

1、结构体和枚举一样,都是在代码的主体外部声明的。

 1 using System;
2 using System.Collections.Generic;
3 using System.Linq;
4 using System.Text;
5
6 namespace StructEnum
7 {
8 enum orientation : byte
9 {
10 north = 1,
11 south = 2,
12 east = 3,
13 west = 4
14 }
15 struct route
16 {
17 public orientation direction;
18 public double distance;
19
20 }
21 class Program
22 {
23 static void Main(string[] args)
24 {
25 route myRoute;
26 double myDistance;
27 int myDirection;
28 myDistance = Convert.ToDouble(Console.ReadLine());
29 myDirection = Convert.ToInt32(Console.ReadLine());
30 myRoute.distance = myDistance;
31 myRoute.direction = (orientation)myDirection;
32 Console.WriteLine("distance:{0},direction:{1}",myRoute.distance,myRoute.direction);
33 }
34 }
35 }

输入4 4

输出 4 west

2.C#结构体与C结构体类似
3.虽然枚举有类型,但是取枚举的值时,仍然需要进行类型转换

 1 using System;
2 using System.Collections.Generic;
3 using System.Linq;
4 using System.Text;
5
6 namespace StructEnum
7 {
8 enum orientation:byte
9 {
10 north = 1,
11 south = 2,
12 east = 3,
13 west = 4
14 }
15 struct route
16 {
17 public orientation direction;
18 public double distance;
19 public int dirct;
20 }
21 class Program
22 {
23 static void Main(string[] args)
24 {
25 route myRoute,mRoute;
26 double myDistance;
27 int myDirection;
28 myDistance = Convert.ToDouble(Console.ReadLine());
29 myDirection = Convert.ToInt32(Console.ReadLine());
30 myRoute.distance = myDistance;
31 myRoute.direction = (orientation)myDirection;
32 mRoute.dirct = orientation.north; //output north
33 Console.WriteLine("distance:{0},direction:{1}",myRoute.distance,myRoute.direction);
34 Console.WriteLine("mRoute.dirct={0}",mRoute.dirct);
35 }
36 }
37 }

第32行,编辑错误。

把 mRoute.dirct = orientation.north; 改为 mRoute.dirct = (int)orientation.north; 

输出mRoute.dirct = 1。
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值