Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> C#

Sử dụng enum để định nghĩa kiểu dữ liệu trong C#


Enum (Enumeration) trong C# là kiểu dữ liệu giá trị (value type). Enum là tập hợp các hằng số nguyên (integer constants) được đặt tên. Kiểu liệt kê được khai báo bằng từ khóa enum.

Cú pháp

enum <enum_name>
{
    enumeration_list
};

Ví dụ cơ bản

enum Vehicle { Car, Bus, Truck };

Mặc định: Car=0, Bus=1, Truck=2. Có thể gán giá trị tùy chỉnh:

enum Priority { Low = 1, Medium = 5, High = 10 };

Ví dụ hoàn chỉnh

using System;

namespace Demo
{
    class Program
    {
        enum Days { Sun, Mon, Tue, Wed, Thu, Fri, Sat };
        
        static void Main(string[] args)
        {
            int weekDayStart = (int)Days.Mon;
            int weekDayEnd = (int)Days.Fri;
            
            Console.WriteLine("Thứ Hai: {0}", weekDayStart);
            Console.WriteLine("Thứ Sáu: {0}", weekDayEnd);
            
            // Duyệt tất cả giá trị enum
            Console.WriteLine("\nTất cả ngày trong tuần:");
            foreach (Days day in Enum.GetValues(typeof(Days)))
            {
                Console.WriteLine("{0} = {1}", day, (int)day);
            }
            
            Console.ReadKey();
        }
    }
}

Kết quả

Thứ Hai: 1
Thứ Sáu: 5

Tất cả ngày trong tuần:
Sun = 0
Mon = 1
Tue = 2
Wed = 3
Thu = 4
Fri = 5
Sat = 6

Các thao tác phổ biến với Enum

  • Enum.GetValues(typeof(Days)): Lấy tất cả giá trị
  • Enum.GetNames(typeof(Days)): Lấy tất cả tên
  • Enum.Parse(typeof(Days), "Mon"): Parse string thành enum
  • Enum.TryParse: Parse an toàn
  • Enum.IsDefined(typeof(Days), 7): Kiểm tra giá trị hợp lệ
  • [Flags] attribute: Cho phép tổ hợp bitwise