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.