Compartir a través de


Quitar la asignación de valores innecesarios (IDE0059)

Propiedad Valor
Identificador de la regla IDE0059
Título Eliminación de una asignación de valor innecesaria
Categoría Estilo
subcategoría Reglas de código innecesarias (preferencias de nivel de expresión)
idiomas aplicables C# y Visual Basic
Opciones csharp_style_unused_value_assignment_preference
visual_basic_style_unused_value_assignment_preference

Visión general

Esta regla marca las asignaciones de valores innecesarias. Por ejemplo:

// IDE0059: value written to 'v' is never
// read, so assignment to 'v' is unnecessary.
int v = Compute();
v = Compute2();

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

  • Si la expresión del lado derecho de la asignación no tiene efectos secundarios, quite la expresión o toda la instrucción de asignación. Esto mejora el rendimiento evitando el cálculo innecesario.

    int v = Compute2();
    
  • Si la expresión del lado derecho de la asignación tiene efectos secundarios, reemplaza el lado izquierdo de la asignación por un descarte (solo C#) o una variable local que nunca se use. Los descartes mejoran la claridad del código al mostrar explícitamente la intención de descartar un valor no utilizado.

    _ = Compute();
    int v = Compute2();
    

Opciones

Las opciones de esta opción especifican si se prefiere el uso de una variable local descartada o una variable local sin usar:

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

csharp_style_unused_value_assignment_preference

Propiedad Valor Descripción
nombre de opción csharp_style_unused_value_assignment_preference
idiomas aplicables C#
Valores de opción discard_variable Es preferible usar un descarte al asignar un valor que no se utiliza.
unused_local_variable Se prefiere usar una variable local al asignar un valor que no se usa
valor de opción predeterminado discard_variable
// csharp_style_unused_value_assignment_preference = discard_variable
int GetCount(Dictionary<string, int> wordCount, string searchWord)
{
    _ = wordCount.TryGetValue(searchWord, out var count);
    return count;
}

// csharp_style_unused_value_assignment_preference = unused_local_variable
int GetCount(Dictionary<string, int> wordCount, string searchWord)
{
    var unused = wordCount.TryGetValue(searchWord, out var count);
    return count;
}

visual_basic_style_unused_value_assignment_preference

Propiedad Valor Descripción
nombre de opción visual_basic_style_unused_value_assignment_preference
idiomas aplicables Visual Basic
Valores de opción unused_local_variable Se prefiere usar una variable local al asignar un valor que no se usa
valor de opción predeterminado unused_local_variable
' visual_basic_style_unused_value_assignment_preference = unused_local_variable
Dim unused = Computation()

Suprimir una advertencia

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

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

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

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

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

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

Para obtener más información, vea Cómo suprimir advertencias de análisis de código.

Propiedad Valor
Identificador de la regla IDE0059
Título El valor no se usa
Categoría Estilo
idiomas aplicables F#
Opciones Ninguno

Visión general

Esta regla marca las asignaciones de valores innecesarias. Por ejemplo, answer no se usa en el siguiente fragmento de código:

type T() =
    let answer = 42

Consulte también