Ich möchte eine formatierte Zeichenfolge an die Konsole ausgeben. Ich habe eine String-Variable und eine String-Array-Variable.Verwendung von string.format mit String-Array in Powershell
Wenn ich dies tun:
$arr = "aaa","bbb"
"test {0} + {1}" -f "first",$arr
Der Ausgang ist dies:
test first + System.Object[]
Aber ich muss ausgegeben werden:
test first + aaa,bbb
oder etwas ähnliches ...
+1 Für die Vollständigkeit der Antwort –
Sehr nett! Ich würde normalerweise String-Interpolation sofort verwenden, aber ich entdeckte gerade -f-Operator für string.format und mochte es so sehr, dass ich es überall verwendete und verwirrt wurde :) Dies wirft eine andere Frage auf, was der Unterschied in der Hintergrundverarbeitung von -f-Operator und ist String-Interpolation? Vielleicht ein paar Artikel? Danke – jumbo
'-f' ist nur eine einfache Bequemlichkeit für' String.Format() ', es verwendet die gleiche Semantik wie .NET in dieser Hinsicht. Die String-Interpolation ist ein heikles Thema, da sie Objekte (scheinbar) unter Verwendung der invarianten Kultur in String konvertiert; Es wird auch Arrays mit $ OFS verbunden. Generell fühle ich mich im Moment nicht sicher, die genauen Unterschiede genau zusammenzufassen. Etwas Spaß: '$ a = (Datum), (Datum), (Datum); Schreib-Host $ a; Schreib-Host "$ a" ' – Joey