Blick, dass die help section about_Comparison_Operators of PowerShell Ich verstehe diese:Powershell Logic
PS C:\> $false,$false -eq $true
PS C:\>
Nichts von links passt sich das Recht vor, so dass nichts eine $null
nicht einmal zurückgegeben wird.
ich das nicht verstehen:
PS C:\> $true -eq $false,$false
True
PS C:\>
Ist es, weil es $true -eq $false
erste tut, die Falsch zurückkehrt, und dann nehmen, dass Falsch und $false -eq $false
zu tun, die Wahre zurückkehrt?
Mehr Infos
Der Grund für die unten false zurückgibt, weil es einen String in einem Array zu vergleichen, richtig? Eine Zeichenfolge ist nicht gleich einem Array.
PS C:\> "abc" -eq "abc","def"
False
Antwort?
Weitere Grabungen zeigen, dass $true
gleich einem Objekt ist.
PS C:\> $true -eq [array]
True
PS C:\> $true -eq [string]
True
PS C:\> $true -eq [int]
True
PS C:\> $true -eq [bool]
True
Es sind die Werte dieser Objekte, die wichtig sind.
PS C:\> $true -eq [int]0
False
+1 Gute Frage, aber kann ich fragen, wofür Sie es brauchen? Ich habe Probleme, ein Szenario zu sehen, in dem ich es verwenden könnte. –
Hier erfahren Sie, wie PowerShell funktioniert. Auch die [Link] (http://technet.microsoft.com/en-us/library/hh847759.aspx) nicht sicher, warum "abc" -eq "abc", "def" 'nicht funktioniert. –
[Sie müssen Ihre Streifen verdienen] (http://beefycode.com/post/PowerShell-Mini-game-Equality.aspx) –