Usar coincidencia de patrones (IDE0078 e IDE0260)
En este artículo se describen dos reglas relacionadas, IDE0078
y IDE0260
.
Propiedad | Value |
---|---|
Identificador de la regla | IDE0078 |
Título | Uso de coincidencia de patrones |
Categoría | Estilo |
Subcategoría | Reglas del lenguaje (preferencias de coincidencia de patrones) |
Lenguajes aplicables | C# 9.0 y versiones posteriores |
Opciones | csharp_style_prefer_pattern_matching |
Propiedad | Value |
---|---|
Identificador de la regla | IDE0260 |
Título | Uso de coincidencia de patrones |
Categoría | Estilo |
Subcategoría | Reglas del lenguaje (preferencias de coincidencia de patrones) |
Lenguajes aplicables | C# |
Opciones | csharp_style_pattern_matching_over_as_with_null_check |
Informació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 null
.
Opciones
Las opciones especifican el comportamiento que se quiere que aplique la regla. Para más información sobre cómo configurar opciones, consulte Formato de opción.
csharp_style_prefer_pattern_matching (IDE0078)
Propiedad | Valor | Descripción |
---|---|---|
Nombre de la 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 |
Se 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 la 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 |
Deshabilita 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 })
{
}
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 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
del archivo de configuración.
[*.{cs,vb}]
dotnet_diagnostic.IDE0078.severity = none
dotnet_diagnostic.IDE0260.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.