1. Enum là gì?
Enum (viết tắt của Enumeration) trong C# là một kiểu dữ liệu đặc biệt cho phép bạn định nghĩa một tập hợp các hằng số có tên. Enum thường được sử dụng khi bạn có một tập hợp các giá trị cố định và muốn làm cho mã dễ đọc hơn.
Ví dụ, bạn muốn biểu diễn các ngày trong tuần: Monday, Tuesday, ..., Sunday.
2. Cách khai báo Enum
enum TenEnum
{
GiaTri1,
GiaTri2,
...
}
- Ví dụ
enum DayOfWeek
{
Monday,
Tuesday,
Wednesday,
Thursday,
Friday,
Saturday,
Sunday
}
3. Giá trị mặc định của Enum
- Các giá trị trong enum mặc định bắt đầu từ 0 và tăng dần.
- Bạn có thể gán giá trị cụ thể cho từng phần tử:
enum DayOfWeek
{
Monday = 1,
Tuesday = 2,
Wednesday = 3,
Thursday = 4,
Friday = 5,
Saturday = 6,
Sunday = 7
}
4. Sử dụng Enum trong C#
- Khai báo biến kiểu Enum:
DayOfWeek today = DayOfWeek.Friday;
Console.WriteLine(today); // Output: Friday
- Ép kiểu Enum sang số nguyên:
int dayValue = (int)DayOfWeek.Friday;
Console.WriteLine(dayValue); // Output: 5
- Ép kiểu số nguyên sang Enum:
DayOfWeek day = (DayOfWeek)3;
Console.WriteLine(day); // Output: Wednesday
5. Enum và vòng lặp
Bạn có thể duyệt qua các giá trị của enum bằng cách sử dụng phương thức Enum.GetValues():
foreach (DayOfWeek day in Enum.GetValues(typeof(DayOfWeek)))
{
Console.WriteLine(day);
}
6. Thêm mô tả cho Enum
Trong C#, bạn có thể thêm mô tả cho từng giá trị của Enum bằng cách sử dụng thuộc tính Description trong thư viện System.ComponentModel.
- Bạn có thể viết một phương thức tiện ích để lấy mô tả của một giá trị Enum.
- Bạn cũng có thể lấy toàn bộ danh sách các giá trị và mô tả của một Enum:
7. Lợi ích của Enum
- Giúp mã dễ đọc và bảo trì hơn.
- Tránh sử dụng các giá trị "magic numbers".
- Dễ dàng xử lý các nhóm giá trị cố định.
8. Thực hành: Viết chương trình đơn giản
Đề bài: Viết chương trình nhận vào một số nguyên từ 1 đến 7 và in ra ngày tương ứng trong tuần.
Gợi ý:
using System;
enum DayOfWeek
{
Monday = 1,
Tuesday,
Wednesday,
Thursday,
Friday,
Saturday,
Sunday
}
class Program
{
static void Main()
{
Console.Write("Nhập số từ 1 đến 7: ");
int dayNumber = int.Parse(Console.ReadLine());
if (Enum.IsDefined(typeof(DayOfWeek), dayNumber))
{
DayOfWeek day = (DayOfWeek)dayNumber;
Console.WriteLine($"Ngày tương ứng: {day}");
}
else
{
Console.WriteLine("Số nhập không hợp lệ!");
}
}
}
9. Kết luận
Enum
là một công cụ hữu ích trong C# giúp bạn quản lý các giá trị cố định một cách hiệu quả và rõ ràng. Việc sử dụng enum
không chỉ làm cho mã nguồn dễ hiểu mà còn giúp giảm thiểu lỗi do việc sử dụng sai giá trị.
Tác giả: Bạch Ngọc Toàn
Chú ý: Tất cả các bài viết trên TEDU.COM.VN đều thuộc bản quyền TEDU, yêu cầu dẫn nguồn khi trích lại trên website khác.