JetBrains Rider 2025.2 Help

代码检查:对未标记 [Flags] 特性的枚举执行按位操作

如果枚举被用作 由按位标志表示的选项组合 ,而不是一组单一的离散值,建议使用 [Flags]特性对其进行装饰。

此检查报告了 按位逻辑运算符应用于未具有 [Flags] 特性的枚举的情况。

如果该枚举确实表示一组按位标志,请考虑为其应用 [Flags] 特性。 这将帮助代码的读者更好地理解您的意图,同时也会改变某些系统方法(如 ToString()Enum.Parse() )处理该枚举的方式。

public enum Days { Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday } public class Test { public Test() { var weekEnd = Days.Saturday | Days.Sunday; Console.WriteLine(weekEnd); // Output: 7 } }
[Flags] public enum Days { Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday } public class Test { public Test() { var weekEnd = Days.Saturday | Days.Sunday; Console.WriteLine(weekEnd); // Output: Saturday, Sunday } }
最后修改日期: 2025年 9月 26日