PowerShell'deki boole değişmez değerleri nelerdir?
PowerShell'deki boole değişmez değerleri nelerdir?
Yanıtlar:
$trueve $false.
Bunlar sabitler. Boolean için dil düzeyinde değişmez bilgi yoktur.
İhtiyacınız olan yere bağlı olarak , türün boole olması gerekiyorsa, örneğin boolean (ve çakışan aşırı yüklemesi olmayan) yöntem koşullarında veya koşullu ifadelerde boole değerine zorlanan her şeyi kullanabilirsiniz . Örneğin, null olmayan nesneler doğrudur. null, boş dizeler, boş diziler ve sayı 0yanlış.
[bool]1ve [bool]0ayrıca çalışır.
if ($s.Length) { ... }mesela gayet iyi.
Mevcut yanıtlara daha fazla bilgi eklemek için : Boole değişmez değerleri $trueve $falseayrıca PowerShell (PS) komut dosyaları için komut satırı parametreleri olarak kullanıldığında olduğu gibi çalışır. Adlı bir dosyada saklanan aşağıdaki PS komut dosyası için installmyapp.ps1:
param (
[bool]$cleanuprequired
)
echo "Batch file starting execution."
Şimdi bu PS dosyasını bir PS komut satırından çağırmam gerekirse, bunu nasıl yapabilirim:
installmyapp.ps1 -cleanuprequired $true
VEYA
installmyapp.ps1 -cleanuprequired 1
Burada 1ve $trueeşdeğerdir. Ayrıca 0ve $falseeşdeğerdir.
Not : Asla dize değişmezinin trueotomatik olarak boole dönüştürülmesini beklemeyin . Örneğin, aşağıdaki komutu çalıştırırsam:
installmyapp.ps1 -cleanuprequired true
komut dosyasını aşağıdaki hatayla yürütemez:
'Cleanuprequired' parametresinde bağımsız değişken dönüşümü işlenemiyor. "System.String" değeri "System.Boolean" türüne dönüştürülemiyor. Boolean parametreleri yalnızca $ True, $ False, 1 veya 0 gibi Boolean değerlerini ve sayılarını kabul eder.