public enum color1
        {
            red, blue, green
        }        public class color2
        {
            public string red;
            public string blue;
            public string green;
        }
上面这个枚举与类有什么区别?

解决方案 »

  1.   

    最起码,可以写color2 x=new color2();
    x.red="green";跟第一个怎么比?我完全不知道怎么会无法分辨呢?除非你只背概念,还从未进行过实用编程。嘿,不小心在这个帖子回复了。
      

  2.   

    enum是一种在语言层的实现了某种模式(暂且叫enum模式吧)的class
    你看每个enum是继承自System.Enum的
      

  3.   

    楼主多看看MSDN,就会理解了:http://msdn.microsoft.com/zh-cn/library/67ef8sbd(v=VS.90).aspx
      

  4.   


    第一个好象我写 x.red="green";  右边的"green",不过这种值使用安全、固定范围、高效。怎么跟x相比?
      

  5.   

    一定的程度上说,可以举个例子就明白了
    一周有7天,我可以定义个枚举,把所有的列出来,public enum Week
    {周一 ,....
    }
    //当然可以定义一个类
    public class WeekClass
    {
      string GetTodayWeek()
      {...}
    }//要知道今天星期几
    Week.周一;
    //用类表示
    //哦,该死,要限制下不出出现星期八
    其实这个关系有点像 int 和 string 
    string 可以取代 int 么,可以,但会很麻烦
      

  6.   

    枚举提供成组的常数值,它们有助于使成员成为强类型以及提高代码的可读性
    我也是菜鸟,但是比你多晓得一个网址
    http://msdn.microsoft.com/zh-cn/library/ms123401.aspx
    输入:枚举,得到答案:
    http://msdn.microsoft.com/zh-cn/library/ms229058(v=VS.90).aspx
      

  7.   

    enum值类型,这个enum个人感觉就像是typedef,只是为了使代码看起来更好而已(可以代替一些莫名其妙的东西,例如你可以用'red'而不需要用一个数字0来表示红色),面向过程的语言例如C,也具有这个关键词.
    class是引用类型,是面向对象编程的核心之一,不需要解释.
    这二者差别巨大
      

  8.   

    enum的枚举项只能是int类型,class的成员可以是任意类型
      

  9.   

    枚举是Value type 
    类是reference type