枚舉類型轉換

枚舉類型轉換成int類型
例:ide

1 public enum Gender
2 {
3 男,
4 5 }
6 
7 Gender gender = Gender.男; 
8 int a = gender;
9 Console.WriteLine(a);

輸入結果:
0spa

還有一個功能:code

1 public enum Gender
2 {
3 男=5,
4 5 }
6 
7 Gender gender = Gender.男; 
8 int a = gender;
9 Console.WriteLine(a);

輸入結果:
5對象

1 Gender gender = Gender.女; 
2 int a = gender;
3 Console.WriteLine(a);

輸出結果:
6blog

int類型轉換成枚舉類型字符串

 1 public enum Gender
 2 {
 3 男,
 4  5 }
 6 
 7 int a = 0;
 8 Gender gender;
 9 gender = (Gender)a;
10 Console.WriteLine(gender);

輸入結果:
string

枚舉類型轉換成String類型it

1 public enum Gender
2 {
3 男,
4 5 }
6 Gender gender = Gender.男;
7 String st = gender.ToString();
8 
9 Console.WriteLine(st);

輸出結果:
io

String類型轉換成枚舉類型
注意:沒法強制類型轉換event

1 public enum Gender
2 {
3 男,
4 5 }
6 Gender gender = Gender.男;
7 String st = gender.ToString();
8 
9 Console.WriteLine(st);

強制類型轉換是錯誤的
正確的:

 1 using System;
 2 using System.Collections.Generic;
 3 using System.Linq;
 4 using System.Text;
 5 using System.Threading.Tasks;
 6 
 7 namespace ConsoleApplication1
 8 {
 9     public enum Gender
10     {
11         男,
12 13     }
14     class Program
15     {
16         static void Main(string[] args)
17         {
18             string s = "0";
19             Gender gender = (Gender)Enum.Parse(typeof(Gender), s);
20             /*public static Object Parse(
21                                             Type enumType,
22                                             string value
23                                         )
24               將一個或多個枚舉常數的名稱或數字值的字符串表示轉換成等效的枚舉對象。
25              typeof():獲取類型
26              */
27             Console.WriteLine(gender);
28             Console.ReadKey();
29         }
30     }
31 }
代碼

輸出結果:

請按任意鍵繼續. . .
遇到沒法轉換的字符串時應付拋異常。
例:

 1 using System;
 2 using System.Collections.Generic;
 3 using System.Linq;
 4 using System.Text;
 5 using System.Threading.Tasks;
 6 
 7 namespace ConsoleApplication1
 8 {
 9     public enum Gender
10     {
11         男,
12 13     }
14     class Program
15     {
16         static void Main(string[] args)
17         {
18             string s = "abc";
19             Gender gender = (Gender)Enum.Parse(typeof(Gender), s);
20             /*
21              *該處出錯,沒法轉換
22              */
23             Console.WriteLine(gender);
24             Console.ReadKey();
25         }
26     }
27 }
代碼

字符串與枚舉元素相同也是能夠轉的

 1 using System;
 2 using System.Collections.Generic;
 3 using System.Linq;
 4 using System.Text;
 5 using System.Threading.Tasks;
 6 
 7 namespace ConsoleApplication1
 8 {
 9     public enum Gender
10     {
11         男,
12 13     }
14     class Program
15     {
16         static void Main(string[] args)
17         {
18             string s = "";
19             //字符串與枚舉的元素徹底相同也是能夠轉的
20             Gender gender = (Gender)Enum.Parse(typeof(Gender), s);
21             /*public static Object Parse(
22                                             Type enumType,
23                                             string value
24                                         )
25               將一個或多個枚舉常數的名稱或數字值的字符串表示轉換成等效的枚舉對象。
26              typeof():獲取類型
27              */
28             Console.WriteLine(gender);
29             Console.ReadKey();
30         }
31     }
32 }
代碼
相關文章
相關標籤/搜索