枚举

 1 /// <summary>
 2     /// 枚举默认的,总是具有一个基础类型,为int,但是可以使用继承,来指定一个不同的类型。(可选类型:int,uint,long,ulong)
 3     /// <para>默认情况下,第一个枚举值为0,以后依次递增,可以显示的为枚举赋值,此后的枚举值根据当前枚举值依次递增。</para>
 4     /// <para>譬如:Connected的值为11,Disconnecting的值为12。</para>
 5     /// <para>注:不能从现有的枚举类型派生以添加额外的成员。</para>
 6     /// <para>枚举属于值类型。</para>
 7     /// <para>注:C#不支持两个不同的枚举数组之间的直接转型。除非先转型为一个Array数组,再转型为第二个枚举。要求:两个枚举具有相同的基础类型。</para>
 8     /// </summary>
 9     enum ConnectionState
10     {
11         Disconnected,
12         Connection = 2,
13         Connected=4,
14         Joined = 7,
15         Disconnecting
16     }
17 
18     enum ConnectionState2 
19     {
20         [Description("fa g")]
21         Disconnected,
22 
23         Connection = 10,
24         Connected,
25         Joined = Connected,
26         Disconnecting
27     }
28 
29  static void Main(string[] args)
30         {
31             ConnectionState[] states = (ConnectionState[]) (Array) new ConnectionState2[1];
32 
33             foreach (var state in states)
34             {
35                 Console.WriteLine(state);
36             }
37 
38             Console.WriteLine(ConnectionState2.Disconnected);
39 
40             // 将字符串转换成枚举
41             ConnectionState connectionState = (ConnectionState) System.Enum.Parse(typeof(ConnectionState),"123");
42             Console.WriteLine(connectionState);
43         }

 

posted @ 2013-01-16 14:40  天之涯,海之角  阅读(183)  评论(0编辑  收藏  举报