ReSharper 2026.1 Help

代码检查:根据位掩码的值,表达式结果将始终相同

此检查会报告那些看似动态、但由于所用掩码其实总是得到相同结果的枚举位掩码比较。 通常出现在比较 &| 与永远不会匹配的标志组合的代码中。

示例

[Flags] enum Box { Long = 1, High = 2, Colorful = 4 } bool HasColor(Box box) { return (box & Box.High) == Box.Colorful; }
[Flags] enum Box { Long = 1, High = 2, Colorful = 4 } bool HasHigh(Box box) { return (box & Box.High) == Box.High; }

修正方法

该检查没有专用的快速修复方法。 修复方法是与掩码实际可能生成的标志组合进行比较。

2026年 5月 8日