关于枚举enum的使用

meishengyang1 2013-01-03 01:26:53
比如定义 enum E{a,b,c},用的时侯声明 E e =E.a,感觉很奇怪啊,左边是枚举类型,右边却是它的一个元素,无法理解啊,求解释
...全文
176 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
叫我三三 2013-01-03
  • 打赏
  • 举报
回复
引用 5 楼 meishengyang1 的回复:
很奇怪啊,_doType为什么 等于 doType.sleep,不是一个级别啊,求解释
为什么 int i = 0 ? 为什么 int i = 1 也没问题? 这不是一样的道理吗- -
meishengyang1 2013-01-03
  • 打赏
  • 举报
回复
引用 3 楼 kansousama 的回复:
关于枚举的使用你可以看这个。 http://www.cnblogs.com/liyingyi/archive/2005/12/28/306772.aspx 我在使用枚举的时候,是为了给阅读者一个清晰的思路才使用。 例如: C# code?1234567891011121314151617 public void doSomething(int i……
嗯,我想说的是switch (_doType) { case doType.sleep: //... break;很奇怪啊,_doType为什么 等于 doType.sleep,不是一个级别啊,求解释
meishengyang1 2013-01-03
  • 打赏
  • 举报
回复
引用 2 楼 dongxinxi 的回复:
enum就是用来枚举某种事务的N种情况的,没必要钻牛角尖
就是说枚举类型本身是它枚举的所有情形中的一种么
叫我三三 2013-01-03
  • 打赏
  • 举报
回复
关于枚举的使用你可以看这个。 http://www.cnblogs.com/liyingyi/archive/2005/12/28/306772.aspx 我在使用枚举的时候,是为了给阅读者一个清晰的思路才使用。 例如:

        public void doSomething(int i)
        {
            switch (i)
            {
                case 0:
                    //...
                    break;
                case 1:
                    //...
                    break;
                case 2:
                    //...
                    break;
                default:
                    return;
            }
        }

        public void doSomething(string doType)
        {
            switch(doType)
            {
                case "sleep":
                    //...
                    break;
                case "eat":
                    //...
                    break;
                case "drink":
                    //...
                    break;
                default:
                    return;
            }
        }

        public void doSomething(doType _doType)
        {
            switch (_doType)
            {
                case doType.sleep:
                    //...
                    break;
                case doType.eat:
                    //...
                    break;
                case doType.drink:
                    //...
                    break;
                default:
                    return;
            }
        }

        public enum doType 
        {
            sleep,eat,drink
        }
上面3种情况,哪种可以让阅读者更加清晰了解代码的?
  • 打赏
  • 举报
回复
enum就是用来枚举某种事务的N种情况的,没必要钻牛角尖
meishengyang1 2013-01-03
  • 打赏
  • 举报
回复
怎么没有人回复啊

110,499

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧