इन सभी जवाबों पर प्रकाश नहीं डाला गया है, जब किसी मूल्य की $ null से तुलना करते हैं, तो आपको $ null को बाएं हाथ की ओर रखना होगा, अन्यथा संग्रह-प्रकार के मूल्य के साथ तुलना करने पर आप परेशानी में पड़ सकते हैं। देखें: https://github.com/nightroman/PowerShellTraps/blob/master/Basic/Comparison-operators-with-collections/looks-like-object-is-null_s1
$value = @(1, $null, 2, $null)
if ($value -eq $null) {
Write-Host "$value is $null"
}
उपरोक्त ब्लॉक (दुर्भाग्य से) निष्पादित किया गया है। और भी दिलचस्प बात यह है कि पॉवर्सशेल में एक $ मूल्य $ $ शून्य और शून्य नहीं दोनों हो सकता है:
$value = @(1, $null, 2, $null)
if (($value -eq $null) -and ($value -ne $null)) {
Write-Host "$value is both $null and not $null"
}
इसलिए संग्रह के साथ इन तुलनाओं को काम करने के लिए बाईं ओर $ null रखना महत्वपूर्ण है:
$value = @(1, $null, 2, $null)
if (($null -eq $value) -and ($null -ne $value)) {
Write-Host "$value is both $null and not $null"
}
मुझे लगता है कि यह शो फिर से पॉवरशेल की शक्ति है!