Eliminación de valores de expresión innecesarios (IDE0058)

Propiedad Value
Identificador de la regla IDE0058
Título Eliminación de valores de expresión innecesarios
Categoría Estilo
Subcategoría Reglas del lenguaje (preferencias de nivel de expresión)
Lenguajes aplicables C# y Visual Basic
Opciones csharp_style_unused_value_expression_statement_preference
visual_basic_style_unused_value_expression_statement_preference

Información general

Esta regla marca los valores de expresión no utilizados. Por ejemplo:

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

int Compute();

Puedes realizar una de las acciones siguientes para corregir esta infracción:

  • Si la expresión no tiene efectos secundarios, quite toda la instrucción. Esto mejora el rendimiento ya que se evitan cálculos innecesarios.

  • Si la expresión tiene efectos secundarios, reemplaza el lado izquierdo de la asignación por un descarta (C# solo) o una variable local que nunca se use. Esto mejora la claridad del código mostrando explícitamente la intención de descartar un valor sin usar.

    _ = Compute();
    

Opciones

Las opciones para esto especifican si se prefiere el uso de una variable local descartada o una variable local sin usar:

Para información sobre cómo configurar opciones, consulte Formato de opción.

csharp_style_unused_value_expression_statement_preference

Propiedad. Value Descripción
Nombre de la opción csharp_style_unused_value_expression_statement_preference
Lenguajes aplicables C#
Valores de opción discard_variable Se prefiere asignar una expresión no usada a un descarte
unused_local_variable Se prefiere asignar una expresión no usada a una variable local que no se utilice nunca
Valor de opción predeterminado discard_variable
// 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

Propiedad. Value Descripción
Nombre de la opción visual_basic_style_unused_value_expression_statement_preference
Lenguajes aplicables Visual Basic
Valores de opción unused_local_variable Se prefiere asignar una expresión no usada a una variable local que no se utilice nunca
Valor de opción predeterminado unused_local_variable
' visual_basic_style_unused_value_expression_statement_preference = unused_local_variable
Dim unused = Computation()

Supresión de una advertencia

Si solo quiere suprimir una única infracción, agregue directivas de preprocesador al archivo de origen para deshabilitar y volver a habilitar la regla.

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

Para deshabilitar la regla de un archivo, una carpeta o un proyecto, establezca su gravedad en none del archivo de configuración.

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

Para deshabilitar todas las reglas de estilo del código, establezca la gravedad de la categoría Style en none del archivo de configuración.

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

Para obtener más información, consulte Procedimiento para suprimir advertencias de análisis de código.

Consulte también