C# 枚舉、字符串、值的相互轉換


 1 using  System;  
 2   
 3 class  Program  
 4 {  
 5     public   enum  Color  
 6    {  
 7       Red  =   0xff0000 ,  
 8       Orange  =   0xFFA500 ,  
 9       Yellow  =   0xFFFF00 ,  
10       Lime  =   0x00FF00 ,  
11       Cyan  =   0x00FFFF ,  
12       Blue  =   0x0000FF ,  
13       Purple  =   0x800080   
14    }  
15   
16     static   void  Main( string [] args)  
17    {  
18       Color color  =  Color.Blue;  
19        string  colorString  =   " Blue " ;  
20        int  colorValue  =   0x0000FF ;  
21   
22        // 枚舉轉字符串   
23        string  enumStringOne  =  color.ToString(); //效率低,不推薦  
24        string  enumStringTwo  =  Enum.GetName( typeof (Color), color);//推薦  
25   
26        // 枚舉轉值   
27        int  enumValueOne  =  color.GetHashCode();  
28        int  enumValueTwo  =  ( int )color;  
29        int  enumValueThree  =  Convert.ToInt32(color);  
30   
31        // 字符串轉枚舉   
32       Color enumOne  =  (Color)Enum.Parse( typeof (Color), colorString);  
33   
34        // 字符串轉值   
35        int  enumValueFour  =  ( int )Enum.Parse( typeof (Color), colorString);  
36   
37        // 值轉枚舉   
38       Color enumTwo  =  (Color)colorValue;  
39       Color enumThree  =  (Color)Enum.ToObject( typeof (Color), colorValue);  
40   
41        // 值轉字符串   
42        string  enumStringThree  =  Enum.GetName( typeof (Color), colorValue);  
43    }  
44 }  
45    
46   
47 // 假設有枚舉值如下:   
48   
49 public   enum  DbProviderType  
50   
51   {  
52   
53       SqlServer,  
54   
55       Oracle  
56   
57   }  
58 // 1、將枚舉轉換為字符串:   
59   
60 string  strDbType  =  DbProviderType.SqlServer.ToString();  
61 // 2、將字符串轉換為枚舉:   
62 DbProviderType dbType  =  (DbProviderType)Enum.Parse( typeof (DbProviderType), strDbType,  true );  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM