C# 枚举(Enum):规范常量定义

简介: 枚举用于定义命名常量,提升代码可读性与维护性。示例中定义订单状态枚举,演示赋值、转换、解析及遍历操作,避免使用魔法数字,使逻辑更清晰易懂。

枚举用于定义命名常量(如状态、类型),提升代码可读性和可维护性,避免魔法数字。

// 定义枚举(订单状态)
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();
相关文章
|
2天前
|
缓存 Ubuntu Linux
02-Docker安装
本文介绍在CentOS系统上安装、配置和卸载Docker的完整步骤,包括卸载旧版本、配置阿里云镜像源、安装Docker引擎、启动服务及设置开机自启,并提供离线安装与常用配置方法,如修改数据目录、日志驱动和镜像加速等,帮助用户快速部署并优化Docker环境。
|
2天前
|
存储 安全 C#
C# 实现简单的登录验证系统
本系统通过用户名密码验证实现安全登录,采用SHA256加盐值哈希加密存储密码,防止明文泄露。结合注册与登录功能,确保用户身份安全,有效抵御密码还原攻击。
|
2天前
|
C# 图形学 Windows
C# 制作 Windows Forms 图形验证码(带干扰线)
WinForms图形验证码利用Graphics绘制字符、干扰线与噪点,支持刷新及随机颜色、旋转,增强防破解能力,提升安全性。
|
2天前
|
C# UED
C# 制作控制台版验证码认证(核心案例)
验证码用于防止恶意操作,控制台程序通过生成随机字符实现验证功能。用户输入验证码后系统比对,支持多次尝试并提示剩余机会,错误过多则认证失败,确保安全性与用户体验平衡。(236字符)
|
2天前
|
存储 数据库连接 C#
C# 配置文件读取:App.config 用法
App.config用于存储程序配置(如数据库连接、接口地址),避免硬编码,提升可维护性。通过ConfigurationManager读取配置,支持字符串、整型、布尔值及连接字符串的获取,需引用System.Configuration程序集。
|
2天前
|
C#
C# 随机数生成:Random 类用法
Random类用于生成伪随机数,适用于游戏、验证码、测试等场景。通过静态实例避免重复创建,确保随机性。提供整数、小数、布尔值及指定长度的随机字符串生成方法,使用简便且高效。注意需复用实例防止种子重复导致随机数相同。
|
2天前
|
存储 算法 C#
C# 哈希值计算:MD5/SHA256 加密
本示例展示了C#中使用MD5和SHA256算法生成哈希值的方法,适用于密码加密与数据校验。MD5安全性较低,建议仅用于非敏感场景;密码存储推荐使用SHA256配合盐值以增强安全性。
|
2天前
|
C#
C# 异步编程:async/await 简化异步操作
`async/await` 是 C# 5.0+ 的异步编程语法糖,简化异步操作(如网络请求、文件读写),避免回调地狱。通过 `async` 标记异步方法,`await` 等待任务完成而不阻塞主线程,提升程序响应性和性能,适用于 I/O 密集型场景。
|
2天前
|
开发框架 .NET Java
C# LINQ:简化集合查询(基础用法)
LINQ是C#中集成的查询功能,可简洁高效地查询集合、数据库等数据源。通过示例演示了过滤、排序、分组、投影和聚合操作,展现其在处理产品列表时的强大与便捷。
|
2天前
|
安全 C#
C# 事件(Event):基于委托的观察者模式
事件是基于委托的封装机制,仅支持订阅与取消订阅,确保成员安全。常用于实现观察者模式,如订单状态变更时通知各系统,实现松耦合设计。

热门文章

最新文章