由枚举类型,记录点滴

前言:

    枚举类型,由于不太常用,所以掌握其实并不熟练。然而今天见一枚举题,感觉有点意思,遂记录一下。

 

解析:

   先见代码:

 // Description: 演示用枚举,获取枚举中的名称,和对应值

    
// CopyRight: http://www.cnblogs.com/yangmingming

    
// Notes: 采用枚举Color,并限定为类型byte

    
class Program
    {
        
enum Color : byte
        {
            Red,
            Green,
            Blue,
            Orange
        }
        
static void Main(string[] args)
        {
            
// 获取枚举中名称字符串数组
            string[] strName = Enum.GetNames(typeof(Color));
          
            
//获取枚举中对应值项
            byte[] syteValue =(byte[] ) Enum.GetValues(typeof(Color));
         
            
for (int i = 0; i < strName.Length; i++)
                Console.WriteLine(
"{0}",strName [i]);
            
for (int i = 0; i < syteValue.Length; i++)
                Console.WriteLine(
"{0}",syteValue [i]);
           
        }
    }


 顺理成章的,得到调试结果为:

 

 

由以上代码,我注意到三点:

1.typeof的应用:这个是为了得到Type类型的对象,在反射环节已经略有了解;

2. Enum.GetValues(typeof(Color))获取枚举各项对应值时,因为是得到Array类型的。然而很意外的是,我居然用byte[]可以实现整体的类型转换!

3.关于enum和Enum的区别:enum提示为Code Snippet for enum,这同struct定义。而Enum则定义为 Class System.Enum ,可见其是以类来操作的,这样才具有上述得到名称、值的方法;

 

 综述之,对枚举的例子,进一步引出附属知识点,真是一举多得啊,呵呵~ 

 

posted @ 2010-03-29 23:26  Youngman  阅读(287)  评论(0编辑  收藏  举报