枚举
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 }