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:
- C# - csharp_style_unused_value_expression_statement_preference
- Visual Basic - visual_basic_style_unused_value_expression_statement_preference
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.