Chủ Nhật , 25 Tháng Mười 2020
Trang chủ / HỌC LẬP TRÌNH / C# [C Sharp] / [Học lập trình] – C# – [Bài 31] Enum trong C#

[Học lập trình] – C# – [Bài 31] Enum trong C#

Enum trong C#


Enum trong C#

Một enum là một “lớp” đặc biệt, nó biểu thị cho một nhóm các hằng số (các biến không thay đổi/chỉ đọc).

Để tạo một enum chúng ta sử dụng từ khóa enum ( thay cho class hoặc interface), và phân tách các mục của enum bằng dấu phẩy:

Ví dụ

enum Level 
{
  Low,
  Medium,
  High
}

Bạn có thể truy xuất các mục của enum bằng dấu chấm (.):

Level myVar = Level.Medium;
Console.WriteLine(myVar);

Chạy ví dụ »

Enum là viết tắt của từ “enumerations – bảng liệt kê”, có nghĩa là “được liệt kê cụ thể”.


Enum bên trong một lớp Class

Bạn cũng có thể có một enum bên trong một lớp:

Ví dụ

class Program
{
  enum Level
  {
    Low,
    Medium,
    High
  }
  static void Main(string[] args)
  {
    Level myVar = Level.Medium;
    Console.WriteLine(myVar);
  }
}

Kết quả sẽ là: Medium

Các giá trị của Enum

Theo mặc định, mục đầu tiên của một enum nhận giá trị 0. Mục thứ hai nhận giá trị 1, …

Để nhận giá trị integer (số nguyên) từ một mục, chúng ta phải thực hiện chuyển kiểu rõ (explicitly convert) từ item sang một số int:

Ví dụ

enum Months
{
  January,    // 0
  February,   // 1
  March,      // 2
  April,      // 3
  May,        // 4
  June,       // 5
  July        // 6
}

static void Main(string[] args)
{
  int myNum = (int) Months.April;
  Console.WriteLine(myNum);
}

Kết quả là: 3

Chạy ví dụ »

Chúng ta cũng có thể gán giá trị cho enum, và các mục tiếp sau sẽ cập nhật số phù hợp:

Ví dụ

enum Months
{
  January,    // 0
  February,   // 1
  March=6,    // 6
  April,      // 7
  May,        // 8
  June,       // 9
  July        // 10
}

static void Main(string[] args)
{
  int myNum = (int) Months.April;
  Console.WriteLine(myNum);
}

Kết quả là: 7

Chạy ví dụ »


Enum trong câu lệnh Switch

Enum thường được sử dụng trong câu lệnh switch để kiểm tra các giá trị tương ứng:

Ví dụ

enum Level 
{
  Low,
  Medium,
  High
}

static void Main(string[] args) 
{
  Level myVar = Level.Medium;
  switch(myVar) 
  {
    case Level.Low:
      Console.WriteLine("Low level");
      break;
    case Level.Medium:
       Console.WriteLine("Medium level");
      break;
    case Level.High:
      Console.WriteLine("High level");
      break;
  }
}

Kết quả là: Medium level

Chạy ví dụ »

Tại sao và khi nào sử dụng Enum?

Chúng ta sử dụng enum khi có các giá trị mà chúng ta biết rằng chúng sẽ không thay đổi, như ngày tháng, màu sắc, …

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *