c# enum 用法

c# 代码
  1. using system;    
  2. enum color    
  3. {    
  4. red,    
  5. green = 10,    
  6. blue    
  7. }    
  8. class test    
  9. {    
  10. static void main() {    
  11. console.writeline(stringfromcolor(color.red));    
  12. console.writeline(stringfromcolor(color.green));    
  13. console.writeline(stringfromcolor(color.blue));    
  14. }    
  15. static string stringfromcolor(color c) {    
  16. switch (c) {    
  17. case color.red:    
  18. return string.format("red = {0}", (int) c);    
  19. case color.green:    
  20. return string.format("green = {0}", (int) c);    
  21. case color.blue:    
  22. return string.format("blue = {0}", (int) c);    
  23. default:    
  24. return "invalid color";    
  25. }    
  26. }    
  27. }    
输出枚举成员名称和它们的关联值。输出为:

red = 0
green = 10
blue = 11
原因如下:

枚举成员 red 被自动赋予零值(因为它不具有初始值设定项并且是第一个枚举成员)。
枚举成员 green 被显式赋予值 10。
枚举成员 blue 被自动赋予比文本上位于它前面的成员大 1 的值。
枚举成员的关联值不能直接或间接地使用它自己的关联枚举成员的值。除了这个循环性限制外,枚举成员初始值设定项可以自由地引用其他的枚举成员初始值设定项,而不必考虑它们所在的文本位置的排列顺序。在枚举成员初始值设定项内,其他枚举成员的值始终被视为属于所对应的基础类型,因此在引用其他枚举成员时,没有必要使用强制转换。 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值