अंग्रेज़ी में पढ़ें संपादित करें

इसके माध्यम से साझा किया गया


Remove unnecessary expression value (IDE0058)

Property Value
Rule ID IDE0058
Title Remove unnecessary expression value
Category Style
Subcategory Language rules (expression-level preferences)
Applicable languages C# and Visual Basic
Options csharp_style_unused_value_expression_statement_preference
visual_basic_style_unused_value_expression_statement_preference

Overview

This rule flags unused expression values. For example:

C#
void M()
{
  Compute(); // IDE0058: computed value is never used.
}

int Compute();

You can take one of the following actions to fix this violation:

  • If the expression has no side effects, remove the entire statement. This improves performance by avoiding unnecessary computation.

  • If the expression has side effects, replace the left side of the assignment with a discard (C# only) or a local variable that's never used. This improves code clarity by explicitly showing the intent to discard an unused value.

    C#
    _ = Compute();
    

Options

The options for this specify whether to prefer the use of a discard or an unused local variable:

For information about configuring options, see Option format.

csharp_style_unused_value_expression_statement_preference

Property Value Description
Option name csharp_style_unused_value_expression_statement_preference
Applicable languages C#
Option values discard_variable Prefer to assign an unused expression to a discard
unused_local_variable Prefer to assign an unused expression to a local variable that's never used
Default option value discard_variable
C#
// Original code:
System.Convert.ToInt32("35");

// After code fix for IDE0058:

// csharp_style_unused_value_expression_statement_preference = discard_variable
_ = System.Convert.ToInt32("35");

// csharp_style_unused_value_expression_statement_preference = unused_local_variable
var unused = Convert.ToInt32("35");

visual_basic_style_unused_value_expression_statement_preference

Property Value Description
Option name visual_basic_style_unused_value_expression_statement_preference
Applicable languages Visual Basic
Option values unused_local_variable Prefer to assign an unused expression to a local variable that's never used
Default option value unused_local_variable
VB
' visual_basic_style_unused_value_expression_statement_preference = unused_local_variable
Dim unused = Computation()

Suppress a warning

If you want to suppress only a single violation, add preprocessor directives to your source file to disable and then re-enable the rule.

C#
#pragma warning disable IDE0058
// The code that's violating the rule is on this line.
#pragma warning restore IDE0058

To disable the rule for a file, folder, or project, set its severity to none in the configuration file.

ini
[*.{cs,vb}]
dotnet_diagnostic.IDE0058.severity = none

To disable all of the code-style rules, set the severity for the category Style to none in the configuration file.

ini
[*.{cs,vb}]
dotnet_analyzer_diagnostic.category-Style.severity = none

For more information, see How to suppress code analysis warnings.

See also