number - powershell tostring
¿Cómo convierto un objeto de matriz a una cadena en PowerShell? (6)
¿Cómo puedo convertir un objeto de matriz en una cadena?
Lo intenté:
$a = "This", "Is", "a", "cat"
[system.String]::Join(" ", $a)
sin suerte ¿Cuáles son las diferentes posibilidades en PowerShell?
De una tubería
# This Is a cat
''This'', ''Is'', ''a'', ''cat'' | & {"$input"}
# This-Is-a-cat
''This'', ''Is'', ''a'', ''cat'' | & {$ofs=''-'';"$input"}
Escribir-Anfitrión
# This Is a cat
Write-Host ''This'', ''Is'', ''a'', ''cat''
# This-Is-a-cat
Write-Host -Separator ''-'' ''This'', ''Is'', ''a'', ''cat''
Descubrí que la conexión de la matriz al cmdlet out-string
también funciona bien.
Por ejemplo:
PS C:/> $a | out-string
This
Is
a
cat
Depende de su objetivo final en cuanto a qué método es el mejor para usar.
Puede especificar un tipo como este:
[string[]] $a = "This", "Is", "a", "cat"
Verificando el tipo:
$a.GetType()
Confirma:
IsPublic IsSerial Name BaseType -------- -------- ---- -------- True True String[] System.Array
Emitiendo $ a:
PS C:/> $a This Is a cat
$a = ''This'', ''Is'', ''a'', ''cat''
Usando comillas dobles (y opcionalmente use el separador $ofs
)
# This Is a cat
"$a"
# This-Is-a-cat
$ofs = ''-'' # after this all casts work this way until $ofs changes!
"$a"
Usando el operador join
# This-Is-a-cat
$a -join ''-''
# ThisIsacat
-join $a
Usar la conversión a [string]
# This Is a cat
[string]$a
# This-Is-a-cat
$ofs = ''-''
[string]$a
$a = "This", "Is", "a", "cat"
foreach ( $word in $a ) { $sent = "$sent $word" }
$sent = $sent.Substring(1)
Write-Host $sent
1> $a = "This", "Is", "a", "cat"
2> [system.String]::Join(" ", $a)
La línea dos realiza la operación y las salidas al host, pero no modifica $ a:
3> $a = [system.String]::Join(" ", $a)
4> $a
Este es un gato
5> $a.Count
1