2012-05-14 13 views
48

Was sind die booleschen Literale in PowerShell?Boolean Literale in PowerShell

+9

Das ist eine gute Frage und es hat eine Verbesserung von mir bekommen. Ich habe immer SO Fragen aufgefrischt, die bei meinen Google-Suchen auftauchen und mir helfen. Diese 4 Downvoter sollten ihre Einstellung zu einfachen Einstiegsfragen wie dieser neu überdenken. – ulidtko

Antwort

57

$true und $false.

Das sind jedoch Konstanten. Es gibt keine Literale auf Sprachenebene für Booleans.

Je nachdem, wo Sie sie benötigen, können Sie auch alles verwenden, das auf einen booleschen Wert coerces, wenn der Typ boolesch sein muss, z. in Methodenaufrufen, die boolesche Werte erfordern (und keine Konflikte mit Überladungen haben) oder bedingte Anweisungen. Die meisten Nicht-Null-Objekte sind zum Beispiel wahr. null, leere Strings, leere Arrays und die Nummer 0 sind falsch.

10

.und [bool]0 funktioniert auch.

+0

Um genau zu sein, können Sie viele Dinge verwenden, die in Kontexten, in denen eine Umwandlung stattfindet, z. in einer bedingten Anweisung. Und in diesen Fällen musst du überhaupt nicht casten. 'if ($ s.Length) {...}' ist zum Beispiel vollkommen in Ordnung. – Joey