PowerShell'deki boole değişmez değerleri nelerdir?
PowerShell'deki boole değişmez değerleri nelerdir?
Yanıtlar:
$true
ve $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ı 0
yanlış.
[bool]1
ve [bool]0
ayrıca çalışır.
if ($s.Length) { ... }
mesela gayet iyi.
Mevcut yanıtlara daha fazla bilgi eklemek için : Boole değişmez değerleri $true
ve $false
ayrı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 1
ve $true
eşdeğerdir. Ayrıca 0
ve $false
eşdeğerdir.
Not : Asla dize değişmezinin true
otomatik 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.