Compartir a través de


Usar coincidencia de patrones (IDE0078 y IDE0260)

En este artículo se describen dos reglas relacionadas, IDE0078 y IDE0260.

Propiedad Valor
Identificador de la regla IDE0078
Título Utilice la coincidencia de patrones
Categoría Estilo
Subcategoría Reglas de lenguaje (preferencias de coincidencia de patrones)
idiomas aplicables C# 9.0 y versiones posteriores
Opciones csharp_style_prefer_pattern_matching
Propiedad Valor
Identificador de la regla IDE0260
Título Utiliza la coincidencia de patrones
Categoría Estilo
subcategoría Reglas de lenguaje (preferencias de coincidencia de patrones)
idiomas aplicables C#
Opciones csharp_style_pattern_matching_over_as_with_null_check

Visión general

Esta regla de estilo se refiere al uso de construcciones de coincidencia de patrones de C#.

IDE0260 marca específicamente el uso de una expresión as seguida de un miembro leído a través del operador condicional null. Esta regla es similar a IDE0019, que marca el uso de una expresión as seguida de una comprobación de null.

Opciones

Las opciones especifican el comportamiento que desea que aplique la regla. Para obtener información sobre cómo configurar opciones, vea Formato de opción.

csharp_style_prefer_pattern_matching (IDE0078)

Propiedad Valor Descripción
nombre de opción csharp_style_prefer_pattern_matching
Valores de opción true Se prefiere usar construcciones de coincidencia de patrones, siempre que sea posible.
false Prefiere no usar construcciones de coincidencia de patrones.
valor de opción predeterminado true

csharp_style_pattern_matching_over_as_with_null_check (IDE0260)

Esta opción también configura la regla IDE0019.

Propiedad Valor Descripción
nombre de opción csharp_style_pattern_matching_over_as_with_null_check
Valores de opción true Se prefiere la coincidencia de patrones sobre la expresión as con el acceso a miembros condicionales null.
false Desactiva la regla.
valor de opción predeterminado true

Ejemplos

IDE0078

// csharp_style_prefer_pattern_matching = true
var x = i is default(int) or > (default(int));
var y = o is not C c;

// csharp_style_prefer_pattern_matching = false
var x = i == default || i > default(int);
var y = !(o is C c);

IDE0260

// Code with violations.
object? o = null;
if ((o as string)?.Length == 0)
{
}

// Fixed code (csharp_style_pattern_matching_over_as_with_null_check = true).
object? o = null;
if (o is string { Length: 0 })
{
}

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 IDE0078 // or IDE0260
// The code that's violating the rule is on this line.
#pragma warning restore IDE0078 // or IDE0260

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.IDE0078.severity = none
dotnet_diagnostic.IDE0260.severity = none

Para deshabilitar todas las reglas de estilo de código, establezca la severidad de la categoría Style a 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.

Consulte también