我几分钟前在C#中编写了一些东西,并编写了以下代码行:
private void ReportCheckState( String message , bool state ) {
( ( NovaEngineEditor )this.Parent ).EditorStatusBar.ShowMessage( ( message += state ? " Enabled." : " Disabled." ) );
}
令我惊讶的是,Resharper 明显认为变量 "message" 的追加在任何执行路径中都不会被使用。然而,这并不正确。它被使用了,并且按预期工作。那么,我真的找到了一个能够智胜 Resharper 的方法吗?以下是屏幕截图(请注意灰色文本):
这是显示在表单上的最终输出图像;它确实可以正常工作!
+
而不是+=
。+=
会将值附加到字符串变量上。由于在代码中后面没有再使用该变量,因此它是多余的。 - Alex Wiesemessage + (state ? " 启用。" : " 禁用。")
编辑:@alexw:比我快了9秒 ;p - leppie+=
中加号部分的结果有用,但赋值回去是没有必要的(在你的代码中是这样的——之后你从未使用过message
本身的值)。 - Alexei Levenkov