4

几分钟前,我在 C# 中整理了一些东西,并编写了以下代码行:

private void ReportCheckState( String message , bool state ) {
            ( ( NovaEngineEditor )this.Parent ).EditorStatusBar.ShowMessage( ( message += state ? " Enabled." : " Disabled." ) );
        }

令我惊讶的是,Resharper 显然认为变量“消息”的附加不会在任何执行路径中使用。然而,事实并非如此。它已被使用并且按预期工作。那么我真的找到了比 Resharper 更聪明的方法吗?这是一个屏幕截图(注意灰色文本):

在此处输入图像描述

这是表格上显示的最终输出的图像;它确实可以正常工作!

在此处输入图像描述

4

1 回答 1

4

让我们分解代码

message += state ? " Enabled." : " Disabled."

是相同的

message = message + (state ? " Enabled." : " Disabled.");

由于您不再使用message变量,因此分配是多余的。

你真的想要

message + (state ? " Enabled." : " Disabled.");

于 2015-02-04T05:47:52.480 回答