1. 程式人生 > 其它 >C# 列舉---分析與理解

C# 列舉---分析與理解

在這篇文章中,我們會以示例的形式討論列舉(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函式方法,如下所示: