Directory.EnumerateFiles
विधि के लिए डिफ़ॉल्ट पढ़ने का आदेश क्या है? क्या यह सुसंगत है?निर्देशिका .EnumerateFiles आदेश पढ़ें (सी #)
मेरे अनुभव में अब तक यह फाइलें बनाई गई थीं, लेकिन मुझे इसकी पुष्टि नहीं मिली है।
कारण मैं पूछता हूं क्योंकि एक प्रोग्राम का हिस्सा मैं निर्देशिकाओं से बाइनरी फ़ाइलों को लोड करने पर काम कर रहा हूं जो बदले में सरणी में लोड होते हैं। ये वस्तुएं सूचकांक के सरणी द्वारा एक-दूसरे को संदर्भित करती हैं, जिसका अर्थ है कि वे अपने सरणी में लोड किए गए क्रम को लगातार बने रहने के लिए (सूचकांक स्थानांतरित करने से बचने के लिए) की आवश्यकता होती है।
जबकि मैं यहां हूं, मेरे पास एक और मामूली सवाल है। जब फ़ाइलों को हटा दिया जाता है, तो यह स्पष्ट रूप से सरणी में लोड की गई फ़ाइलों के सूचकांक को बदलता है, इससे कोई फर्क नहीं पड़ता कि मैं क्या करता हूं। इस समस्या से बचने के लिए कोई सुझाव? मैंने भंडारण के बारे में चिंताओं के कारण अब तक एक शब्दकोश का उपयोग करने से बचा है (यदि मैं इससे बच सकता हूं तो टेक्स्ट की चाबियों के सरणी को संग्रहीत नहीं किया जाएगा) लेकिन यदि यह एकमात्र व्यवहार्य दृष्टिकोण है, तो मुझे इसे किसी भी तरह लागू करना पड़ सकता है।
संपादित करें: अपने जवाब से उत्कृष्ट सुझावों के बाद, मैं एक शब्दकोश फ़ाइलों के नाम का उपयोग करने के लिए दृष्टिकोण पुनर्संशोधित गए हैं। प्रदर्शन प्रभाव काफी नगण्य रहा है और पठनीयता और रखरखाव दोनों काफी सुधार हुए हैं, इसलिए यह काफी अच्छी तरह से काम कर रहा है।
क्यों न केवल सूचकांक के बजाय संदर्भ रखें? यदि आपने ऐसा किया है तो आपको इंडेक्स को शफल होने की चिंता करने की आवश्यकता नहीं होगी। – casperOne
फ़ाइल क्रमबद्धता के तरीके के कारण। अगर मैं धारावाहिकरण के माध्यम से संदर्भों वाली फाइलों को सहेजना चाहता था और फिर उन फ़ाइलों को लोड करता था, तो मैं हर बार पूरे ऑब्जेक्ट पेड़ को लोड कर रहा था जिसके परिणामस्वरूप द्रव्यमान नकल होता था। उदाहरण के लिए, यदि कार टायर और ट्रक संदर्भ टायर का संदर्भ देती है और वे दोनों सहेजे जाते हैं और फिर लोड होते हैं, तो मेरे पास टायर के दो डुप्लिकेट उदाहरण होंगे। – Djentleman
[एमएसडीएन] से लिया गया (http://msdn.microsoft.com/en-us/library/07wt70x2.aspx), 'गेटफाइल' के बारे में (जो अनिवार्य रूप से 'एन्युमेरेटफाइल' कहता है): * लौटाए गए फ़ाइल नामों का क्रम है गारंटी नहीं है; एक विशिष्ट सॉर्ट ऑर्डर की आवश्यकता होने पर सॉर्ट() विधि का उपयोग करें। * मैं आपको बताता हूं कि दस्तावेज कहता है, अपनी सॉर्टिंग विधि का उपयोग करने के लिए। – Mir