कृपया मुझे बताएं कि मुझे यहां मेरे कोड में एक सूक्ष्म गलती मिली है और यह वास्तव में पावरहेल संचालित नहीं है।पावरहेल स्विच स्ट्रिंग में शून्य के बराबर खाली स्ट्रिंग का इलाज करता है लेकिन बयान
$in = ""
if ($in -ne $null)
{
switch ($in)
{
$null { echo "This is impossible" }
default { echo "out here!" }
}
}
सभी अच्छे, ईमानदार तर्क का कहना है कि इस स्क्रिप्ट का प्रिंट आउट कभी नहीं करना चाहिए "यह असंभव है"। लेकिन ऐसा होता है, अगर $ एक खाली स्ट्रिंग है। तो पावरहेल में यह दिखाई देगा कि एक खाली स्ट्रिंग और null
स्ट्रिंग को समकक्ष switch
कथन में माना जाता है लेकिन if
कथन में नहीं। यह है इसलिए उलझन में है और मुख्य कारणों में से एक है जो कई लोग पावरहेल का उपयोग करने से दूर रहते हैं।
क्या कोई मुझे इस बारे में बता सकता है कि ऐसा क्यों है? क्या किसी को पता है कि दृश्य वास्तव में दृश्यों के पीछे क्या कर रहा है? यह निश्चित रूप से एक सीधी तुलना नहीं कर रहा है।
यहाँ देखें - http://rkeithhill.wordpress.com/2007/01/06/checking-for-a-null-or-empty-string/ –
आप की जरूरत कभी नहीं करना चाहिए 'जाँच switch' नल के लिए। मेरे वीबी.NET कोड में कभी नहीं था। – Neolisk