मेरी प्रोग्रामिंग परीक्षा के लिए मुझे लिखे गए कोड की रक्षा करना पड़ा। लाइनों में से एक हैं:क्या यह जांचने का क्रम है कि कोई स्ट्रिंग शून्य या खाली है या नहीं?
if(app.Logourl == "" || app.Logourl == null)
उसने मुझसे पूछा कि शून्य और खाली स्ट्रिंग के बीच कोई अंतर था या नहीं। मैंने उनसे कहा कि अंतर यह था कि null
का अर्थ है कि यह किसी भी चीज़ को इंगित नहीं करता है, इसलिए यह तत्काल नहीं है, लेकिन खाली स्ट्रिंग है।
परीक्षा के बाद मैं उसके पास गया और उससे पूछा कि क्या मैं सही था, क्योंकि मैंने उसके चेहरे पर एक मजाकिया रूप देखा। उसने मुझे बताया कि यह सच है कि वे अलग हैं, लेकिन जिस क्रम में मैंने मूल्यों की जांच की वह गलत थी।
अब कुछ दिनों बाद मुझे विश्वास है कि आदेश में कुछ भी गलत नहीं है। क्या मैं सही हूँ?
टी एल; डॉ
if(app.Logourl == "" || app.Logourl == null)
if(app.Logourl == null || app.Logourl == "")
इसके बजाय 'स्ट्रिंग.इन्स नलऑरफेक्टी' का उपयोग करें;) –
फरहाद सही है। इसके अलावा, माइक्रो-माइक्रो-ऑप्टिमाइज़ेशन के लिए, जो शर्त आपको लगता है वह सबसे पहले सच होगा, शॉर्ट-सर्किट मूल्यांकन के लिए अधिक मामलों में अंतिम जांच छोड़ दें। –
जैसा कि अन्य ने बताया है, यह आपके वास्तविक मामले में समान है। हालांकि, मैं आपके शिक्षक के मार्ग के साथ जाने का सुझाव देता हूं और हमेशा 'शून्य' की जांच करने के लिए उपयोग करता हूं। कई व्यावहारिक मामलों में, जैसा कि उत्तर में बताया गया है, यह * होगा * 'शून्य' चेक के साथ मामला और शुरू होगा, लंबे समय तक आपकी त्रुटियों को कम करेगा। जहां भी पर्यावरण 'IsNullOrEmpty()' जैसे एक विशेष कार्य प्रदान करता है, निश्चित रूप से इसका उपयोग करें, लेकिन आप कई अन्य मामलों में भी उसी पैटर्न का उपयोग करेंगे, जहां आपको मैन्युअल रूप से चेक कोड करने की आवश्यकता है। –