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 }