2009-10-28 17 views
5

की सभी सामग्री समाशोधन मैं इस है:vb.net: स्ट्रिंग सरणी

Dim split As String() = temp_string.Split(",") 

    ''#feed all info into global variables 
    patient_id = split(0) 
    doc_name = split(1) 
    lot__no = split(2) 
    patient_name = split(3) 

मैं कैसे विभाजन की सभी सामग्री को स्पष्ट करते हैं()?

उत्तर

4

आप इसे हमेशा Nothing पर सेट कर सकते हैं जो संदर्भ को साफ़ करेगा। तब कचरा कलेक्टर आराम का ख्याल रखेगा जब यह एक अच्छा विचार हो।

split = Nothing 

हालांकि, अगर यह एक तरीका है कि आप आम तौर पर इस बारे में चिंता करने की जरूरत नहीं होगी की एक स्थानीय चर रहा है, सरणी कचरा संग्रहण के लिए उपलब्ध होते ही उसे दायरे से बाहर चला जाता है हो जाएगा।

+0

आपकी विधि नीचे दिए गए से बेहतर क्यों है? आप बस विभाजन कर रहे हैं = कुछ भी नहीं? –

+0

मुझे लगता है कि 'Array.Clear' के बाद, विभाजन अभी भी (अब साफ़) सरणी का संदर्भ रखेगा। मेरे नमूने में यह कुछ भी संदर्भ नहीं देगा। मैं कहूंगा कि ज्यादातर सामान्य मामलों में अंतर उल्लेखनीय नहीं होगा (मुझे लगता है कि विभाजन एक विधि में एक स्थानीय चर है जो विधि पूर्ण होने पर दायरे से बाहर हो जाता है)। –

+1

+1 "इसके बारे में चिंता करने की आवश्यकता नहीं है" के लिए इसे सेट करने का कोई अच्छा कारण नहीं है जब तक कि सरणी स्वयं वैश्विक चर नहीं है, और यह असंभव है। –

8
ReDim split(-1) 
+0

आपकी विधि –

+1

से नीचे की तुलना में बेहतर क्यों है: तीन विधियों में अलग: रेडिम विभाजन (-1) यह शून्य तत्वों के साथ एक स्ट्रिंग सरणी के रूप में सरणी को छोड़ देता है। ऐरे। क्लेयर (विभाजन, 0, विभाजन। लम्बाई) यह सरणी को इसके सभी तत्वों के साथ छोड़ देता है जो कुछ भी नहीं मानता है। विभाजन = कुछ भी नहीं यह पत्तियां विभाजित कुछ भी नहीं मानती हैं। कौन सा बेहतर है? यह निर्भर करता है, लेकिन कभी-कभी यह एक फर्क पड़ता है। उदाहरण के लिए, यदि आप बाद में विभाजन की ऊपरी सीमा को खोजने के लिए उबाउंड का उपयोग करते हैं, तो आपको इन तीन मामलों के लिए 0, 3, या त्रुटि मिलेगी। – xpda

5

कुछ भी करने की आवश्यकता नहीं है। कचरा कलेक्टर वैरिएबल को साफ़ करने वाली अपनी नौकरियों को करेगा। स्पष्ट रूप से प्रत्येक चर को सेट करने के लिए कुछ भी आपके आवेदन को धीमा कर देगा।

+0

यह अब तक का एकमात्र सही उत्तर प्रदान किया गया है। –