回答:
$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"
演算子結合の使用
# 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
どの方法が最適であるかは、最終目標によって異なります。
$aことと同じ効果があります$a | out-string
($a | out-string).getType()=文字列。 $a.getType()= Object []。文字列を期待するメソッド(invoke-expressionたとえば)の引数として$ aを使用している場合$a | out-string、明らかな利点があります。
パイプから
# This Is a cat
'This', 'Is', 'a', 'cat' | & {"$input"}
# This-Is-a-cat
'This', 'Is', 'a', 'cat' | & {$ofs='-';"$input"}
書き込みホスト
# This Is a cat
Write-Host 'This', 'Is', 'a', 'cat'
# This-Is-a-cat
Write-Host -Separator '-' 'This', 'Is', 'a', 'cat'
$ofsあるOutput Field Separator配列を出力するための文字列に変換する際に使用される変数。ここでは、コマンドによって実行される入力(パイプからの配列)の文字列値を返すスクリプトブロックで設定され&ます。$ofs以前は知らなかったし&、スクリプトブロックを引数として受け入れる