【转】[C#] Enum 的 Flags 特性

来自:https://www.kimi.com/chat

C# 枚举的 Flags 特性有哪些好处?
  1. 一眼看懂组合值
    调试或日志里 Read, Write3 直观得多。
  2. 解析/序列化零成本
    Enum.Parse("Read, Write")ToString() 自动识别逗号分隔,不用再写手工拆分/拼接。
  3. API 自描述
    看到 [Flags] 就明白“该枚举允许按位或、按位与”,减少文档和沟通成本。
  4. 配合 HasFlag / 位运算写更安全的代码
    if (auth.HasFlag(Auth.Write)) …
     
    既避免魔数,又防止写错掩码。
一句话:
[Flags] 不产生新功能,但让 可读、可写、可维护 都提升了一个档次,是位标志枚举的“最佳实践标签”。

image

 

posted on 2025-07-28 00:27  z5337  阅读(37)  评论(0)    收藏  举报