2010-03-30 12 views
8

तो वीबी 6 में एक संग्रह प्रत्येक ऑब्जेक्ट के लिए एक कुंजी का ट्रैक रखता है, और आप ऑब्जेक्ट को अपनी कुंजी से देख सकते हैं।वीबी 6 में संग्रहित किए गए संग्रह क्या हैं?

क्या इसका मतलब है कि हुड के नीचे कुछ प्रकार के हैंशटेबल के रूप में संग्रह लागू किए जाते हैं? मुझे एहसास है कि आपके पास संग्रह में एक ही कुंजी के साथ कई आइटम हो सकते हैं, इसलिए कुछ सॉर्ट।

कोई भी जानता है कि वीबी 6 संग्रह किस प्रकार की डेटा संरचना का प्रतिनिधित्व करना है?

+5

आप ** ** ** VB6 संग्रह में एक ही कुंजी के साथ ** एकाधिक आइटम नहीं कर सकते हैं। – raven

+0

क्या आपने इसका परीक्षण किया है? मैं आज कल इसका परीक्षण करूंगा ... मैंने सोचा था कि एक ही कुंजी जोड़ने में कोई समस्या नहीं थी। –

+1

कोई कुंजी के साथ कई आइटम जोड़ना ठीक है, लेकिन कुंजी केस असंवेदनशील रूप से अद्वितीय हैं (विकल्प की तुलना में घोषणा की तुलना करें)। –

उत्तर

7

जहाँ तक मुझे पता है, वीबीए संग्रह को एक लिंक्ड सूची (इंटीजर इंडेक्स द्वारा उपयोग किया जाता है और प्रत्येक के लिए ... अगला) और एक हैश टेबल (चाबियों द्वारा उपयोग किया जाता है) के रूप में लागू किया जाता है। और जैसा कि रावेन ने कहा था, आपके पास एक ही कुंजी के साथ कई आइटम नहीं हो सकते हैं।

संपादित:

@MarkJ: कट्टर दृश्य मूल 2 एड: मैं अपने इस के लिए अदालत में तलब देना चाहिए। ब्रूस मैककिनी, 1997 ISBN माइक्रोसॉफ्ट प्रेस द्वारा प्रकाशित द्वारा 1-57231-422-2

उद्धरण:

पृष्ठ 191 - संग्रह कक्षा

"यह बस कहें, संग्रह वर्ग एक souped- है क्लाइस्ट क्लास का सी ++ संस्करण [...]। वास्तव में, यदि आप एक दोगुनी लिंक वाली सूची होने के लिए CList को बढ़ाते हैं और इसे कुछ और सुविधाएं देते हैं (और शायद स्ट्रिंग कुंजियों को देखने के लिए हैश तालिका का उपयोग करें), तो आप विज़ुअल बेसिक के साथ प्रदान की गई एक संग्रह कक्षा है। "

पृष्ठ 197 - प्रदर्शन

"और, तथ्य की बात के रूप में, मैं दृश्य मूल डेवलपर्स कि संग्रह दोगुना से जुड़े हुए हैं सूची (अतिरिक्त सुविधाओं के साथ अनुक्रमण समर्थन करने के लिए) से कहा गया है।"

अब, मैककिनी एक प्रोग्रामर की तुलना में अधिक पत्रकार थे, न कि डेवलपर। हालांकि, उन्होंने माइक्रोसॉफ्ट के लिए काम किया, और वीबी और वीबीए टीमों में संपर्क किया। उनकी व्याख्या मेरे लिए काम करती है।

संयोग से, दोगुनी-लिंक्ड सूची का कारण संग्रह की शुरुआत और अंत दोनों में आइटम डालने में सक्षम बनाना है।

+0

तो क्या इसका मतलब यह है कि एक लिंक की गई सूची और एक हैशटेबल मौजूदा पक्ष-दर-पक्ष हैं, वही आइटम ऑब्जेक्ट्स के संदर्भ रखते हैं? और इस पर निर्भर करते हुए कि आप इसे कैसे पुन: सक्रिय करते हैं, आवश्यकतानुसार विभिन्न डेटा संरचनाओं का उपयोग करता है? –

+0

मार्क कोड इंटरफ़ेस का वर्णन कर रहा है जिसके माध्यम से आप संग्रह का उपयोग करते हैं। हम केवल यह समझ सकते हैं कि हुड के तहत कार्यक्षमता का समर्थन करने वाला कुछ होना चाहिए। हम अनुमान लगा सकते हैं कि यह एक लिंक्ड सूची और हैश टेबल का उपयोग कर सकता है लेकिन हम उसे नहीं जानते हैं। – MarkJ

+0

@ मार्कज: मैं उम्मीद कर रहा था कि कोई मुझे संसाधन के प्रति इंगित करने में सक्षम होगा जो कार्यान्वयन के बारे में अटकलों को स्पष्ट करेगा। –