Voglio produrre una stringa formattata su console. Ho una variabile stringa e una variabile array stringa.Come utilizzare string.format con array di stringhe in PowerShell
Quando faccio questo:
$arr = "aaa","bbb"
"test {0} + {1}" -f "first",$arr
Il risultato è questo:
test first + System.Object[]
ma ho bisogno di essere uscita:
test first + aaa,bbb
o qualcosa di simile ...
+1 Per la completezza della risposta –
Molto bello! Normalmente userei l'interpolazione delle stringhe, ma ho appena scoperto -f operatore per string.format e mi è piaciuto così tanto che l'ho usato ovunque e mi sono confuso :) Ciò solleva un'altra domanda su quale sia la differenza nell'elaborazione in background dell'operatore -f e interpolazione a stringa? Forse alcuni articoli? Grazie – jumbo
'-f' è solo una semplice comodità per' String.Format() ', utilizza la stessa semantica di .NET a tale riguardo. L'interpolazione delle stringhe è un argomento delicato, poiché converte gli oggetti in string usando la cultura invariante (apparentemente); si unirà anche agli array usando '$ OFS'. Generalmente non mi sento sicuro in questo momento di riassumere accuratamente le differenze esatte. Qualcosa di divertente: '$ a = (data), (data), (data); Scrivi-Host $ a; Host di scrittura "$ a" ' – Joey