C# 列舉---分析與理解
阿新 • • 發佈:2022-03-25
在這篇文章中,我們會以示例的形式討論列舉(Enums)。在文章末尾,你會懂得列舉是什麼,什麼時候使用列舉,如何使用列舉。
為什麼我們需要列舉?
列舉是強型別的名稱常量。我們用示例理解一下列舉。一個名為Employee類,Gender屬性。Gender是整型。
1、0是未知性別;
2、1是男性;
3、2是女性;
1 using System; 2 using System.Collections.Generic; 3 4 namespace EnumsDemo 5 { 6 class Program 7 { 8 static void Main(string[] args) 9 { 10 //Create a collection to store employees 11 List<Employee> empList = new List<Employee>(); 12 empList.Add(new Employee() { Name = "Anurag", Gender = 0}); 13 empList.Add(new Employee() { Name = "Pranaya", Gender = 1 });14 empList.Add(new Employee() { Name = "Priyanka", Gender = 2 }); 15 empList.Add(new Employee() { Name = "Sambit", Gender = 3 }); 16 17 //Loop through each employees and print the Name and Gender 18 foreach (var emp in empList) 19 {20 Console.WriteLine("Name = {0} && Gender = {1}", emp.Name, GetGender(emp.Gender)); 21 } 22 23 Console.ReadLine(); 24 } 25 26 //This method is used to return the Gender 27 public static string GetGender(int gender) 28 { 29 // The switch here is less readable because of these integral numbers 30 switch (gender) 31 { 32 case 0: 33 return "Unknown"; 34 case 1: 35 return "Male"; 36 case 2: 37 return "Female"; 38 default: 39 return "Invalid Data for Gender"; 40 } 41 } 42 } 43 44 // 0 - Unknown 45 // 1 - Male 46 // 2 - Female 47 public class Employee 48 { 49 public string Name { get; set; } 50 public int Gender { get; set; } 51 } 52 }
上述專案程式碼的缺點是可讀性差,可維護性差。現在,我們看一下如何使用列舉進行整體替換,使專案程式碼具有更好的可讀和可維護性。
首先,用列舉建立Gender
修改GetGender函式方法,如下所示: