C#枚举、值、字符串的相互转换

枚举的定义

枚举是整数类型,用户自定义的整数类型的一个集合。

使用方式

public enum A
{
	a=0,
	b=1,
	c=2
}

注意:枚举定义的不同变量之间要用“,”分割,结尾不需要加上“,”

优点

  1. 可以使代码更易于维护
  2. 可以使代码更清晰
  3. 更易于输入与使用枚举值

代码示例

using  System;  
 2   
 3 class  Program  
 4 {  
 5     public   enum  Color  
 6    {  
 7       星期一  =   0xff0000 ,  
 8       星期二  =   0xFFA500 ,  
 9       星期三  =   0xFFFF00  
14    }  
15   
16     static   void  Main( string [] args)  
17    {  
18       Week week  =  Week.星期一 ;  
19        string  WeekDayString  =   " 星期一  " ;  
20        int  WeekDay  =   0x0000FF ;  
21   
22        // 枚举转字符串   
23        string  enumStringOne  =  week  .ToString(); //效率低,不推荐  
24        string  enumStringTwo  =  Enum.GetName( typeof (Week), week);//推荐  
25   
26        // 枚举转值   
27        int  enumValueOne  =  week  .GetHashCode();  
28        int  enumValueTwo  =  ( int )week  ;  
29        int  enumValueThree  =  Convert.ToInt32(week  );  
30   
31        // 字符串转枚举   
32       Week  enumOne  =  (Week)Enum.Parse( typeof (Week), WeekString);  
33   
34        // 字符串转值   
35        int  enumValueFour  =  ( int )Enum.Parse( typeof (Week), WeekString);  
36   
37        // 值转枚举   
38       Week  enumTwo  =  (Week)weekValue;  
39       Week  enumThree  =  (Week)Enum.ToObject( typeof (Week), weekValue);  
40   
41        // 值转字符串   
42        string  enumStringThree  =  Enum.GetName( typeof (Week), weekValue);  
43    }  
44 }  
45    
46   
47 // 假设有枚举值如下:   
48   
49 public   enum  DbProviderType  
50   
51   {  
52   
53       SqlServer,  
54   
55       Oracle  
56   
57   }  
58 // 1、将枚举转换为字符串:   
60 string  strDbType  =  DbProviderType.SqlServer.ToString();  
61 // 2、将字符串转换为枚举:   
62 DbProviderType dbType  =  (DbProviderType)Enum.Parse( typeof (DbProviderType), strDbType,  true );  
  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值