Jak mogę przekonwertować obiekt tablicy na ciąg?
Próbowałem:
$a = "This", "Is", "a", "cat"
[system.String]::Join(" ", $a)
bez szczęścia . Jakie są różne możliwości w PowerShell?
powershell
powershell-2.0
jrara
źródło
źródło
Odpowiedzi:
Używanie cudzysłowów (i opcjonalnie separatora
$ofs
)Korzystanie z łączenia operatorów
Korzystanie z konwersji do
[string]
źródło
$ofs
jest udokumentowane tutajOkazało się, że przekierowanie tablicy do polecenia
Out-String
cmdlet również działa dobrze.Na przykład:
To zależy od celu końcowego, która metoda jest najlepsza w użyciu.
źródło
$a
tego miałoby taki sam efekt jak$a | out-string
($a | out-string).getType()
= Ciąg.$a.getType()
= Obiekt []. Jeśli używasz $ a jako argumentu w metodzie oczekującej łańcucha (invoke-expression
na przykład),$a | out-string
ma to wyraźną przewagę.Linia druga wykonuje operację i wyprowadza do hosta, ale nie modyfikuje $ a:
źródło
Z rury
Host zapisu
Przykład
źródło
$ofs
JestOutput Field Separator
zmienny, który jest stosowany, gdy matryca jest przekształcany łańcucha wyjścia. Tutaj jest ustawiana w bloku skryptu, zwracając wartość ciągu wejściowego (tablica z potoku), która jest wykonywana przez polecenie&
. Nie wiedziałem o tym$ofs
wcześniej, a także o&
przyjęciu bloku skryptu jako argumentuMożesz określić typ w ten sposób:
Sprawdzanie typu:
Potwierdza:
Wyprowadzanie $ a:
źródło
źródło