枚舉類型轉換


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

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

輸入結果:
0

還有一個功能:

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);

輸出結果:
6

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類型

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

輸出結果:

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

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 }
代碼


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM