Bagaimana saya bisa mengkonversi objek array ke string?
Saya mencoba:
$a = "This", "Is", "a", "cat"
[system.String]::Join(" ", $a)
tanpa keberuntungan . Apa saja kemungkinan yang berbeda di PowerShell?
powershell
powershell-2.0
jrara
sumber
sumber
Jawaban:
Menggunakan tanda kutip ganda (dan secara opsional menggunakan pemisah
$ofs
)Menggunakan operator bergabung
Menggunakan konversi ke
[string]
sumber
$ofs
didokumentasikan di siniSaya menemukan bahwa mem-pipe array ke
Out-String
cmdlet juga berfungsi dengan baik.Sebagai contoh:
Tergantung pada tujuan akhir Anda, metode mana yang terbaik untuk digunakan.
sumber
$a
akan memiliki efek yang sama seperti$a | out-string
($a | out-string).getType()
= String.$a.getType()
= Obyek []. Jika Anda menggunakan $ a sebagai argumen untuk metode yang mengharapkan string (sepertiinvoke-expression
misalnya), maka$a | out-string
memiliki keuntungan yang jelas.Baris dua melakukan operasi dan output untuk menjadi tuan rumah, tetapi tidak mengubah $ a:
sumber
Dari pipa
Tuan Rumah Penulis
Contoh
sumber
$ofs
adalahOutput Field Separator
variabel yang digunakan ketika sebuah array diubah menjadi string output. Di sini diatur di blok skrip mengembalikan nilai string dari input (array dari pipa) yang dieksekusi oleh perintah&
. Saya tidak tahu tentang$ofs
sebelumnya, serta&
menerima blok skrip sebagai argumenAnda dapat menentukan jenis seperti ini:
Memeriksa jenisnya:
Mengkonfirmasikan:
Menghasilkan $ a:
sumber
sumber