Chcę wyprowadzić sformatowany ciąg do konsoli. Mam jedną zmienną łańcuchową i jedną zmienną tablicową.Jak używać łańcucha string.format z tablicą ciągów w powłoce sumarycznej
Kiedy to zrobić:
$arr = "aaa","bbb"
"test {0} + {1}" -f "first",$arr
Wyjście to:
test first + System.Object[]
Ale muszę być wyjście:
test first + aaa,bbb
lub coś podobnego ...
+1 Za kompletność odpowiedzi –
Bardzo ładne! Normalnie użyłbym interpolacji ciągów, ale właśnie odkryłem operatora -f dla string.format i polubiłem go tak bardzo, że użyłem go wszędzie i wpadłem w zakłopotanie :) To rodzi kolejne pytanie jaka jest różnica w przetwarzaniu tła operatora -f i interpolacja ciągów znaków? Może jakieś artykuły? Dzięki – jumbo
'-f' jest prostym udogodnieniem dla' String.Format() ', używa tej samej semantyki co .NET w tym względzie. Interpolacja łańcuchów jest trudnym tematem, ponieważ przekształca obiekty na ciąg przy użyciu niezmiennej kultury (podobno); dołączy także tablice używając '$ OFS'. Generalnie nie czuję się pewnie teraz, aby dokładnie podsumować dokładne różnice. Coś fajnego: 'a = (data), (data), (data); Write-Host $ a; Write-Host "$ a" ' – Joey