次のスニペットがあるとします。
$assoc = New-Object psobject -Property @{
Id = 42
Name = "Slim Shady"
Owner = "Eminem"
}
Write-host $assoc.Id + " - " + $assoc.Name + " - " + $assoc.Owner
このスニペットが表示されると思います:
42 - Slim Shady - Eminem
しかし、代わりにそれは示しています:
42 + - + Slim Shady + - + Eminem
そのため、+
演算子は文字列と変数の連結には適切ではないと思います。
PowerShellでこれにどのように取り組むべきですか?
Write-host ($assoc.Id.ToString() + " - " + $assoc.Name + " - " + $assoc.Owner)
ここで$ assoc.IdはInt32
なので、その文字列表現を使用する必要があります。それ以外の場合、PSは連結ではなく算術加算を実行しようとします。