Powershell: Mengapa, (1) [1] berbeda dari, $ null?

Dibuat pada 10 Mar 2018  ·  3Komentar  ·  Sumber: PowerShell/PowerShell

Saya mencoba memahami mengapa dua pernyataan berikut menghasilkan keluaran yang berbeda:

&{,$null} | % {'x'} # x
&{,(1)[1]} | % {'x'} # no output

,$null dan ,(1)[1] keduanya tampaknya array yang berisi satu elemen null. Namun mereka berperilaku berbeda selama keluaran dari scriptblock. Apa yang terjadi disini?

Issue-Question Resolution-Answered

Semua 3 komentar

Yang kedua mengembalikan AutomationNull.Value yang tidak disebutkan oleh pipa.

$null disebutkan.

Lihat misalnya implementasi foreach:
https://github.com/PowerShell/PowerShell/blob/bcf86d4f8a1ce0ef11f0e9100490e790fb067574/src/System.Management.Automation/engine/runtime/Operations/MiscOps.cs#L2748

Terima kasih @powercode. Untuk pembaca lain, berikut adalah beberapa sumber tentang AutomationNull :

@ alx9r : Ini berasal dari pertanyaan yang kemudian Anda tanyakan di # 6436 dan yang telah saya fokuskan di https://github.com/PowerShell/PowerShell/issues/6436#issuecomment -375151317, tetapi saya telah memutuskan untuk buat masalah terpisah untuk itu: # 6823

Apakah halaman ini membantu?
0 / 5 - 0 peringkat

Masalah terkait

Michal-Ziemba picture Michal-Ziemba  ·  3Komentar

JohnLBevan picture JohnLBevan  ·  3Komentar

SteveL-MSFT picture SteveL-MSFT  ·  3Komentar

pcgeek86 picture pcgeek86  ·  3Komentar

garegin16 picture garegin16  ·  3Komentar