¿Cómo puedo convertir un objeto de matriz en cadena?
Lo intenté:
$a = "This", "Is", "a", "cat"
[system.String]::Join(" ", $a)
sin suerte . ¿Cuáles son las diferentes posibilidades en PowerShell?
powershell
powershell-2.0
jrara
fuente
fuente

Respuestas:
Usar comillas dobles (y opcionalmente usar el separador
$ofs)Usando operador unirse
Usando la conversión a
[string]fuente
$ofsestá documentado aquíDescubrí que canalizar la matriz al
Out-Stringcmdlet también funciona bien.Por ejemplo:
Depende de su objetivo final en cuanto a qué método es el mejor para usar.
fuente
$atendría el mismo efecto que$a | out-string($a | out-string).getType()= Cadena.$a.getType()= Objeto []. Si usa $ a como argumento para un método que espera una cadena (comoinvoke-expressionpor ejemplo), entonces$a | out-stringtiene una clara ventaja.La línea dos realiza la operación y envía al host, pero no modifica $ a:
fuente
De una pipa
Host de escritura
Ejemplo
fuente
$ofses laOutput Field Separatorque se utiliza cuando una matriz se convierte en una cadena para la salida. Aquí se establece en el bloque de script que devuelve el valor de cadena de la entrada (matriz de la tubería) que se ejecuta mediante el comando&. No lo sabía$ofsantes, además de&aceptar un bloque de guión como argumentoPuede especificar un tipo como este:
Comprobando el tipo:
Confirma:
IsPublic IsSerial Name BaseType -------- -------- ---- -------- True True String [] System.ArraySalida de $ a:
fuente
fuente