मेरे पास एक काफी सरल सी # एप्लिकेशन है जिसने एक बड़ा हैशटेबल बनाया है। इस हैशटेबल की चाबियाँ तार हैं, और मान इंक हैं।मेमोरी उपलब्ध होने पर मेमोरी अपवाद को आउट क्यों किया जाएगा?
प्रोग्राम तब तक ठीक चलता है जब तक कि हैशटेबल में लगभग 10.3 मिलियन आइटम जोड़े नहीं जाते हैं, जब लाइन पर स्मृति त्रुटि से बाहर किया जाता है जो किसी आइटम को हैबटेबल में जोड़ता है।
कार्य प्रबंधक के अनुसार, मेरा प्रोग्राम केवल 7 9 7 एमबी मेमोरी का उपयोग कर रहा है, और अभी भी 2 जीबी से अधिक उपलब्ध है। यह एक 32-बिट मशीन है, इसलिए मुझे पता है कि केवल एक प्रक्रिया द्वारा कुल 2 जीबी का उपयोग किया जा सकता है, लेकिन यह अभी भी 1.2 जीबी छोड़ देता है कि हैशटेबल में विस्तार करने में सक्षम होना चाहिए।
मेमोरी त्रुटि से बाहर क्यों फेंक दिया जाएगा?
Btw, मुझे आशा है कि आप इस के साथ सी # लेना देना नहीं है को समझने के तहत exe के प्रोजेक्ट गुण पृष्ठ पर स्थित 'पसंद करते हैं 32-बिट' चेकबॉक्स अनचेक करके इस समस्या के अपने संस्करण हल? –
@ जॉन: लेकिन शायद/शायद यह .NET संबंधित है। – Wizard79
@Lorenzo: यह मेरा मुद्दा है। सी # नहीं, बल्कि .NET –