枚举用于定义命名常量(如状态、类型),提升代码可读性和可维护性,避免魔法数字。
// 定义枚举(订单状态) public enum OrderStatus { Pending = 0, // 待支付 Paid = 1, // 已支付 Shipped = 2, // 已发货 Delivered = 3, // 已送达 Cancelled = 4 // 已取消 } public class EnumDemo { public static void UseOrderStatus() { // 枚举赋值 OrderStatus status = OrderStatus.Paid; // 枚举转字符串(获取名称) string statusName = status.ToString(); Console.WriteLine("订单状态名称:" + statusName); // 输出:Paid // 枚举转整数(获取值) int statusValue = (int)status; Console.WriteLine("订单状态值:" + statusValue); // 输出:1 // 整数转枚举 int value = 2; OrderStatus fromValue = (OrderStatus)value; Console.WriteLine("值2对应的状态:" + fromValue); // 输出:Shipped // 字符串转枚举 string name = "Delivered"; if (Enum.TryParse<OrderStatus>(name, out OrderStatus fromName)) { Console.WriteLine("名称Delivered对应的状态:" + fromName); // 输出:Delivered } // 遍历枚举所有值 Console.WriteLine("\n所有订单状态:"); foreach (OrderStatus os in Enum.GetValues(typeof(OrderStatus))) { Console.WriteLine($"{os}(值:{(int)os})"); } } } // 调用示例 EnumDemo.UseOrderStatus();