ReSharper 2026.1 Help

代码检查:具有非零操作数的常量移位表达式结果为零值。

某些常量移位表达式看起来有意义,但由于所有有效位都被移出,结果始终为零。 该检查会报告具有非零操作数且结果始终为零的常量移位表达式。

示例

class Example { void Test() { var value = 1 << 40; } }
class Example { void Test() { var value = (long)1 << 40; } }

快速修复

如果扩展左操作数可以保留预期值,快速修复会将其强制转换为更宽类型。 在其他情况下,正确的修复通常是更改移位位数或明确使用更宽的左操作数。

2026年 5月 8日