6 ответов:
$a = 'This', 'Is', 'a', 'cat'использование двойных кавычек (и дополнительно использовать разделитель
$ofs)# This Is a cat "$a" # This-Is-a-cat $ofs = '-' # after this all casts work this way until $ofs changes! "$a"С помощью оператора join
# This-Is-a-cat $a -join '-' # ThisIsacat -join $aиспользуя преобразование
[string]# This Is a cat [string]$a # This-Is-a-cat $ofs = '-' [string]$a
я обнаружил, что передачи массива в
out-stringкомандлет тоже хорошо работает.например:
PS C:\> $a | out-string This Is a catэто зависит от вашей конечной цели относительно того, какой метод лучше всего использовать.
1> $a = "This", "Is", "a", "cat" 2> [system.String]::Join(" ", $a)вторая строка выполняет операцию и выводит на хост, но не изменяет $a:
3> $a = [system.String]::Join(" ", $a) 4> $aЭто кошка
5> $a.Count 1
из труб
# This Is a cat 'This', 'Is', 'a', 'cat' | & {"$input"} # This-Is-a-cat 'This', 'Is', 'a', 'cat' | & {$ofs='-';"$input"}Write-Host
# This Is a cat Write-Host 'This', 'Is', 'a', 'cat' # This-Is-a-cat Write-Host -Separator '-' 'This', 'Is', 'a', 'cat'
вы можете указать тип следующим образом:
[string[]] $a = "This", "Is", "a", "cat"проверка типа:
$a.GetType()подтверждает:
IsPublic IsSerial Name BaseType -------- -------- ---- -------- True True String[] System.Arrayвывод $a:
PS C:\> $a This Is a cat
$a = "This", "Is", "a", "cat" foreach ( $word in $a ) { $sent = "$sent $word" } $sent = $sent.Substring(1) Write-Host $sent
Comments