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

Duyệt tất cả giá trị Enum trong C#

Dùng Enum.GetValues(typeof(T)) với foreach.

public enum Grade { A, B, C, D, E, F }

foreach (Grade g in Enum.GetValues(typeof(Grade)))
    Console.WriteLine(g);

Ví dụ hoàn chỉnh

using System;

public class EnumExample
{
    public enum Grade { A, B, C, D, E, F }
    
    public static void Main()
    {
        foreach (Grade g in Enum.GetValues(typeof(Grade)))
            Console.WriteLine(g);
    }
}

Kết quả

A
B
C
D
E
F

Các cách khác:

  • Enum.GetNames(typeof(Grade)) - trả string[] tên
  • Enum.GetValues<Grade>() - generic (.NET 5+)
  • LINQ: Enum.GetValues(typeof(Grade)).Cast<Grade>().Where(...)
  • Flags enum: Enum.HasFlag

Lấy giá trị underlying: (int)grade hoặc Convert.ToInt32(grade).