码迷,mamicode.com
首页 > Windows程序 > 详细

C#枚举

时间:2020-05-03 01:18:26      阅读:106      评论:0      收藏:0      [点我收藏+]

标签:转换   msdn   image   ons   字符串   图片   style   整型   ram   

枚举(enum):应用于有多个选择情况下的场合,枚举类型为一组符号常数提供了一个类型名称
 
枚举的声明:
1 enum 枚举名
2 {
3     枚举成员 [=常数表达式]
4     ......
5 }
使用枚举的优点:
1.使程序的可读性更好
2.容易检查出错误
 
使用枚举注意事项:
技术图片
枚举量的运算
每个枚举类型自动从类System.Enum派生。因此,Enum类的方法和属性可以被用在一个枚举类型的数值上
 
Enum-->Int
(1)因为枚举的基类型是除 Char 外的整型,所以可以进行强制转换。
例如:(int)Colors.Red, (byte)Colors.Green
Int-->Enum
(1)可以强制转换将整型转换成枚举类型。
例如:Colors color = (Colors)2 ,那么color即为Colors.Blue
 
Enum-->String
(1)利用Object.ToString()方法:如Colors.Green.ToString()的值是"Green"字符串;
(2)利用Enum的静态方法GetName与GetNames:
public static string GetName(Type enumType,Object value)
public static string[] GetNames(Type enumType)
例如:Enum.GetName(typeof(Colors),3))与Enum.GetName(typeof(Colors), Colors.Blue))的值都是"Blue"
Enum.GetNames(typeof(Colors))将返回枚举字符串数组。
String-->Enum
(1)利用Enum的静态方法Parse:
public static Object Parse(Type enumType,string value)
例如:(Colors)Enum.Parse(typeof(Colors), "Red")
 1    enum Color
 2     {
 3         Red,
 4         Yellow,
 5         Green
 6     }
 7     class TrafficLight
 8     {
 9         public static void WhatInfo(Color color)
10         {
11             switch(color)
12             {
13                 case Color.Red:
14                     Console.WriteLine("Stop!");
15                     break;
16                 case Color.Yellow:
17                     Console.WriteLine("Warning!");
18                     break;
19                 case Color.Green:
20                     Console.WriteLine("Go!");
21                     break;
22                 default:
23                     break;
24             }
25         }
26     }
27     class Program
28     {
29         static void Main(string[] args)
30         {
31             Color c = Color.Red;
32             Console.WriteLine(c.ToString());
33             TrafficLight.WhatInfo(c);
34             c = (Color)Enum.Parse(typeof(Color), "Green");
35             Console.WriteLine(c.ToString());
36             TrafficLight.WhatInfo(c);
37             Console.ReadKey();
38         }
39     }
运行结果:
技术图片


C#枚举

标签:转换   msdn   image   ons   字符串   图片   style   整型   ram   

原文地址:https://www.cnblogs.com/fanjianzhi/p/12820116.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!