Was sind die booleschen Literale in PowerShell?
powershell
Oberst Panik
quelle
quelle
Antworten:
$true
und$false
.Das sind jedoch Konstanten. Es gibt keine Literale auf Sprachebene für Boolesche Werte.
Je nachdem, wo Sie sie benötigen, können Sie auch alles verwenden, was zu einem booleschen Wert gezwungen wird, wenn der Typ boolesch sein muss, z. B. in Methodenaufrufen, die boolesche Werte erfordern (und keine widersprüchliche Überladung aufweisen), oder bedingte Anweisungen. Die meisten Nicht-Null-Objekte sind beispielsweise wahr.
null
, leere Strings, leere Arrays und die Nummer0
sind falsch.quelle
[bool]1
und[bool]0
funktioniert auch.quelle
if ($s.Length) { ... }
ist zum Beispiel vollkommen in Ordnung.Um weitere Informationen zu bereits vorhandenen Antworten hinzufügen : Die Boolesche Literale
$true
und$false
auch Arbeit wie wenn sie als Befehlszeilenparameter für Powershell (PS) Skripte verwendet. Für das folgende PS-Skript, das in einer Datei mit dem Namen gespeichert istinstallmyapp.ps1
:Wenn ich diese PS-Datei über eine PS-Befehlszeile aufrufen muss, kann ich dies folgendermaßen tun:
ODER
Hier
1
und$true
sind gleichwertig. Auch0
und$false
sind gleichwertig.Hinweis : Erwarten Sie niemals, dass das String-Literal
true
automatisch in einen Booleschen Wert konvertiert werden kann. Zum Beispiel, wenn ich den folgenden Befehl ausführe:Das Skript kann mit dem folgenden Fehler nicht ausgeführt werden:
quelle