Ini adalah pertanyaan yang bagus dan mendapat dukungan dari saya. Saya selalu menjawab pertanyaan SO yang muncul di pencarian google saya dan membantu saya. Keempat orang downvoters itu harus benar-benar memikirkan kembali sikap mereka terhadap pertanyaan-pertanyaan tingkat awal yang mudah seperti ini.
ulidtko
Jawaban:
172
$truedan $false.
Itu adalah konstanta. Tidak ada literal tingkat bahasa untuk boolean.
Bergantung pada di mana Anda membutuhkannya, Anda juga dapat menggunakan apa pun yang memaksa ke nilai boolean, jika jenisnya harus boolean, misalnya dalam pemanggilan metode yang membutuhkan boolean (dan tidak memiliki overload yang saling bertentangan), atau pernyataan bersyarat. Sebagian besar objek non-null benar, misalnya. null, string kosong, array kosong dan jumlahnya 0salah.
Lebih tepatnya, Anda dapat menggunakan banyak hal yang dapat dipaksa untuk boolean dalam konteks di mana konversi berlangsung, misalnya dalam pernyataan bersyarat. Dan dalam kasus-kasus itu Anda tidak perlu berperan sama sekali. if ($s.Length) { ... }baik-baik saja, misalnya.
Joey
5
Untuk menambahkan informasi lebih lanjut ke jawaban yang sudah ada : Huruf boolean $truedan $falsejuga berfungsi seperti saat digunakan sebagai parameter baris perintah untuk skrip PowerShell (PS). Untuk skrip PS di bawah ini yang disimpan dalam file bernama installmyapp.ps1:
Sekarang jika saya harus memohon file PS ini dari baris perintah PS, ini adalah bagaimana saya dapat melakukannya:
installmyapp.ps1 -cleanuprequired $true
ATAU
installmyapp.ps1 -cleanuprequired 1
Di sini 1dan $truesetara. Juga, 0dan $falsesetara.
Catatan : Jangan pernah berharap string literal truedapat secara otomatis dikonversi ke boolean. Misalnya, jika saya menjalankan perintah di bawah ini:
installmyapp.ps1 -cleanuprequired true
gagal menjalankan skrip dengan kesalahan di bawah ini:
Tidak dapat memproses transformasi argumen pada parameter 'cleanuprequired'. Tidak dapat mengonversi nilai "System.String" untuk mengetik "System.Boolean". Parameter Boolean hanya menerima nilai dan angka Boolean, seperti $ True, $ False, 1 atau 0.
Jawaban:
$true
dan$false
.Itu adalah konstanta. Tidak ada literal tingkat bahasa untuk boolean.
Bergantung pada di mana Anda membutuhkannya, Anda juga dapat menggunakan apa pun yang memaksa ke nilai boolean, jika jenisnya harus boolean, misalnya dalam pemanggilan metode yang membutuhkan boolean (dan tidak memiliki overload yang saling bertentangan), atau pernyataan bersyarat. Sebagian besar objek non-null benar, misalnya.
null
, string kosong, array kosong dan jumlahnya0
salah.sumber
[bool]1
dan[bool]0
juga berfungsi.sumber
if ($s.Length) { ... }
baik-baik saja, misalnya.Untuk menambahkan informasi lebih lanjut ke jawaban yang sudah ada : Huruf boolean
$true
dan$false
juga berfungsi seperti saat digunakan sebagai parameter baris perintah untuk skrip PowerShell (PS). Untuk skrip PS di bawah ini yang disimpan dalam file bernamainstallmyapp.ps1
:Sekarang jika saya harus memohon file PS ini dari baris perintah PS, ini adalah bagaimana saya dapat melakukannya:
ATAU
Di sini
1
dan$true
setara. Juga,0
dan$false
setara.Catatan : Jangan pernah berharap string literal
true
dapat secara otomatis dikonversi ke boolean. Misalnya, jika saya menjalankan perintah di bawah ini:gagal menjalankan skrip dengan kesalahan di bawah ini:
sumber