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:
- C# - csharp_style_unused_value_assignment_preference
- Visual Basic - visual_basic_style_unused_value_assignment_preference
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