ハッシュテーブルのキーだけでは発生しません。例えばこれを見て:
PS > Write-Host $x.Length$y
3 rrr
しかし$x.Length$y
は有効な式ではありません。
PS > $x.Length$y
Unexpected token 'y' in expression or statement.
At line:1 char:11
+ $x.Length$y <<<<
だから何が起こってしなければならないことはPowerShellは、ホストを書くためにそれらを渡す前$x.Length$y
2などの個別の表現を解釈していることですそれらのうちの2つが存在するため、Write-Hostはそれらを区切り文字で区切ります。その後、
だから何がここで起こっている?:
PS > Write-Host $x$y
qqqrrr
$x$y
は、いずれかの有効な式ではありません。
PS > $x$y
Unexpected token 'y' in expression or statement.
At line:1 char:4
+ $x$y <<<<
しかし、二重引用符でそれが有効な文字列です:
PS > "$x$y"
qqqrrr
Powershellは、Write-Host aに渡す前に$x$y
を文字列に変換する必要があります1つの引数。
しかし、基本的にはすべてがちょっとしたことです。それは私にとってもっともらしい。短い答えはあなたがスペースを取り除くために一緒に自分自身をあなたの文字列を連結することができるということです。
Write-Host ($_.Key + $x)
あなたの答えBruceに感謝します。私はそれから多くを学んだ。 – teebot