Compartir a través de


UseLiteralInitializerForHashtable

Nivel de gravedad: Advertencia

Descripción

La creación de una tabla hash mediante [hashtable]::new() o New-Object -TypeName hashtable sin pasar un IEqualityComparer objeto al constructor crea una tabla hash en la que se buscan las claves de una manera que distingue mayúsculas de minúsculas. Sin embargo, PowerShell no distingue mayúsculas de minúsculas por naturaleza y es mejor crear tablas hash con búsqueda de claves que no distinguen mayúsculas de minúsculas.

Esta regla está pensada para advertir al autor de la naturaleza que distingue mayúsculas de minúsculas de la tabla hash cuando se crea con el new método o el New-Object cmdlet .

Solución

Cree la tabla hash mediante una expresión de tabla hash literal.

Ejemplo

Incorrecto

$hashtable = [hashtable]::new()

Incorrecto

$hashtable = New-Object -TypeName hashtable

Correcto

$hashtable = @{}