CA2265: No comparar Span<T>
con null
o default
Propiedad | Value |
---|---|
Identificador de la regla | CA2264 |
Título | No comparar Span<T> con null o default |
Categoría | Uso |
La corrección es problemática o no problemática | Poco problemático |
Habilitado de forma predeterminada en .NET 9 | Como advertencia |
Causa
Una Span<T> instancia se compara con null
o default
.
Descripción de la regla
Comparar un intervalo con null
o default
podría no hacer lo que pretendía. default
y el null
literal se convierten implícitamente en Span<T>.Empty
.
Cómo corregir infracciones
Quite la comparación redundante o haga que el código sea más explícito llamando IsEmpty a en su lugar.
Ejemplo
El siguiente fragmento de código muestra dos infracciones de CA2265 y la corrección de las infracciones.
Span<int> span = new([1, 2, 3]);
// CA2265 violation.
if (span == null) { }
// CA2265 violation.
if (span == default) { }
// Fixes the violation.
if (span.IsEmpty) { }
Cuándo suprimir las advertencias
Es seguro suprimir esta advertencia si quiere comparar el intervalo con el intervalo vacío.
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 CA2265
// The code that's violating the rule is on this line.
#pragma warning restore CA2265
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.CA2265.severity = none
Para obtener más información, consulte Procedimiento para suprimir advertencias de análisis de código.