वीबीए में, यदि मैं एक स्ट्रिंग की तुलना में vbNullString
के विरुद्ध स्ट्रिंग या इसी तरह की तुलना करता हूं तो इससे कोई फर्क पड़ता है; ""
? यदि ऐसा है तो दोनों के बीच क्या मतभेद हैं?क्या vbNullString और "" के बीच कोई अंतर है?
उत्तर
vbNullString
और ""
अलग हैं। यहां एक वेबपृष्ठ अंश है जो स्मृति उपयोग अंतर का वर्णन करता है।
"यह एक स्ट्रिंग चर स्पष्ट करने के लिए हमेशा की तरह है।
Text$ = ""
क्या बर्बादी! सबसे पहले, स्ट्रिंग ""
हर बार जब आप इसका इस्तेमाल रैम के 6 बाइट्स लेता है। पर विचार करें विकल्प:।
Text$ = vbNullString
तो क्या यह है vbNullString
एक विशेष वीबी लगातार कि एक अशक्त स्ट्रिंग को दर्शाता है ""
शाब्दिक एक खाली सेंट है अंगूठी। एक महत्वपूर्ण अंतर है। एक खाली स्ट्रिंग एक असली स्ट्रिंग है। एक शून्य स्ट्रिंग नहीं है। यह सिर्फ एक शून्य है। यदि आप सी भाषा जानते हैं, vbNullString
न्यूल के बराबर है।
अधिकांश प्रयोजनों के लिए, vbNullString
वीबी में ""
के बराबर है। एकमात्र व्यावहारिक अंतर यह है कि vbNullString
असाइन करने और संसाधित करने के लिए तेज़ है और इसमें कम स्मृति लगती है।
यदि आप कुछ गैर-वीबी एपीआई या घटक कहते हैं, तो अपने आवेदन को वितरित करने से पहले vbNullString
के साथ कॉल का परीक्षण करें। जो फ़ंक्शन आप कॉल कर रहे हैं वह नल स्ट्रिंग की जांच नहीं कर सकता है, इस स्थिति में यह क्रैश हो सकता है। एक स्ट्रिंग पैरामीटर को संसाधित करने से पहले गैर-वीबी कार्यों को एनयूएलएल की जांच करनी चाहिए। बुरी किस्मत के साथ, आप जिस विशेष कार्य को बुला रहे हैं वह ऐसा नहीं करता है। इस मामले में, ""
का उपयोग करें। आमतौर पर एपीआई का समर्थन करते हैं vbNullString
और वे भी इसके साथ बेहतर प्रदर्शन कर सकते हैं "
लेख के बाकी के अनुकूलन तार कि रूप में अच्छी तरह व्यावहारिक हो सकता है पर अतिरिक्त जानकारी है
पूर्ण वेबपेज:। http://www.aivosto.com/vbtips/stringopt.html
This comparison बताता है कि एक चर के लिए ""
असाइन करने के लिए स्मृति के 6 बाइट्स का उपयोग करता है जबकि vbNullString
का उपयोग किसी भी स्मृति का उपयोग नहीं करेगा।
व्यक्तिगत रूप से, मैं एक स्ट्रिंग की लंबाई का मूल्यांकन करना पसंद करता हूं। यदि लंबाई 0 है, तो हम निष्कर्ष पर भी पहुंचते हैं कि स्ट्रिंग vbNullString
या ""
है। इस विधि को vbNullString
की जांच करने का सबसे तेज़ तरीका माना जाता है।
If Len(string) = 0 Then
आप एक Len
बनाम vbNullString
बनाम ""
तुलना here पढ़ सकते हैं।
पर रोब बोवी की टिप्पणी देखें, अच्छा लगता है, जब तक कि कोई और जानकारी अधिक जानकारी के साथ नहीं, मैं इसे चिह्नित करूंगा समाधान के रूप में। हालांकि, आपके द्वारा लिंक किया गया अंतिम लेख इंगित करता है कि एक अंतर है, हालांकि लेखक करता है नहीं पता कि यह क्या है।यह निश्चित रूप से कुछ वैरिएबल को असाइन किए जाने पर स्मृति के रूप में सरल हो सकता है, जैसा कि आप पहले अपने उत्तर में इंगित करते हैं। – eirikdaude
एक अंतर है, '" "शून्य लंबाई की मौजूदा स्ट्रिंग है, 'vbNullString' प्रकार' स्ट्रिंग 'प्रकार का एक शून्य सूचक है (स्ट्रिंग को इंगित नहीं करता है)। वीबी की तुलना करने के उद्देश्य से [अंतर छुपाता है] (http://stackoverflow.com/questions/37035754/what-does-vb6-initialize-a-static-integer-to/37035879#comment61678413_37035879), लेकिन कभी-कभी आप चाहते हैं [इसे अनदेखा करें] (http://stackoverflow.com/a/20909528/11683)। – GSerg
- 1. क्या $ @ और "$ @" के बीच कोई अंतर है?
- 2. क्या कोई इकाई और वस्तु के बीच कोई अंतर है?
- 3. क्या (स्थानीय), '।' के बीच कोई अंतर है और लोकहोस्ट?
- 4. क्या MsgBox और MessageBox के बीच कोई अंतर है। दिखाओ?
- 5. क्या BigDecimal ("0") और BigDecimal.ZERO के बीच कोई अंतर है?
- 6. क्या नियंत्रण और विजेट के बीच कोई अंतर है?
- 7. क्या $ (e.currentTarget) और $ (यह) के बीच कोई अंतर है?
- 8. क्या ऑपरेटर और डिफ़ाइनप्रोपर्टी के बीच कोई प्रभावी अंतर है?
- 9. क्या System.Windows.Clipboard और System.Windows.Forms.Clipboard के बीच कोई अंतर है?
- 10. क्या window.localStorage और localStorage के बीच कोई अंतर है?
- 11. नाएन और कोई नहीं के बीच क्या अंतर है?
- 12. क्या GUID और UUID के बीच कोई अंतर है?
- 13. क्या log4net.Config.BasicConfigurator.Configure() और log4net.Config.XmlConfigurator.Configure() के बीच कोई अंतर है?
- 14. क्या AtomicInteger.updateAndGet() और AtomicInteger.accumulateAndGet() के बीच कोई कार्यात्मक अंतर है?
- 15. क्या React.render() और ReactDOM.render() के बीच कोई अंतर है?
- 16. क्या सीजीआरईटी और एनएसआरईक्ट के बीच कोई अंतर है?
- 17. क्या टाइप और क्लास के बीच कोई अंतर है?
- 18. क्या डब्लूएसजीआई और एफसीजीआई के बीच कोई गति अंतर है?
- 19. क्या "अतिरिक्त" और "बिटवाईव अतिरिक्त" के बीच कोई अंतर है?
- 20. क्या ब्लब्स और जुड़े घटकों के बीच कोई अंतर है?
- 21. क्या on_exit() और atexit() फ़ंक्शंस के बीच कोई अंतर है?
- 22. क्या एमआईएमई और सामग्री प्रकार के बीच कोई अंतर है?
- 23. क्या आरपीसी और आईपीसी के बीच कोई अंतर है?
- 24. क्या 'ListView.invalidateViews()' और 'Adapter.notifyDataSetChanged()' के बीच कोई अंतर है?
- 25. क्या SqlConnection.CreateCommand और नया SqlCommand के बीच कोई अंतर है?
- 26. क्या डीबग और रिलीज के बीच कोई (प्रदर्शन) अंतर है?
- 27. $ और $$ के बीच क्या अंतर है?
- 28. "$^एन" और "$ +" के बीच क्या अंतर है?
- 29. भिन्नता और '-' के बीच क्या अंतर है?
- 30. [अपरिभाषित] और [,] के बीच क्या अंतर है?
http://dailydoseofexcel.com/archives/2008/06/26/identify-empty-cells-in-vba/ – brettdj