मेरे पास एक सवाल है जो इतना आसान है कि मैं विश्वास नहीं कर सकता कि मैं इसे स्वयं जवाब नहीं दे सकता। लेकिन, तुम वहाँ जाओ।सी # (विंडोज फोन 7 पर सिल्वरलाइट) में एक बड़ी स्थैतिक सरणी का उपयोग करना
मेरे पास एक बड़ी आइएस स्थैतिक सूची है (शहरों, अक्षांश और अक्षांशों का) जो मैं अपने विंडोज फोन 7 सिल्वरलाइट एप्लिकेशन में उपयोग करना चाहता हूं। उनमें से लगभग 10,000 हैं। मैं अपने डेटा में इस डेटा को स्थिर रूप से एम्बेड करना चाहता हूं और इसे सरणी में एक्सेस करना चाहता हूं (मुझे कोड में पूरी सूची के माध्यम से नियमित रूप से चक्र की आवश्यकता है)।
यह संग्रहीत करने का मेरा सबसे प्रभावी माध्यम क्या होगा? एक साथ बाहर
public struct City
{
public string name;
public double lat;
public double lon;
};
और फिर ...
private City[] cc = new City[10000];
public CityDists()
{
cc[2].name = "Lae, Papua New Guinea"; cc[2].lat = 123; cc[2].lon = 123;
cc[3].name = "Rabaul, Papua New Guinea"; cc[3].lat = 123; cc[3].lon = 123;
cc[4].name = "Angmagssalik, Greenland"; cc[4].lat = 123; cc[4].lon = 123;
cc[5].name = "Angissoq, Greenland"; cc[5].lat = 123; cc[5].lon = 123;
...
हालांकि, इस bums ": मैं एक पुराने स्कूल प्रकार का एक सा हूँ, इसलिए मैं सबसे तेज़ तरीका है करने के लिए माना यह होगा स्मृति से बाहर "कोड वास्तव में चलाने से पहले त्रुटि (मुझे लगता है कि कोड स्वयं स्मृति में लोड होने के लिए बहुत अधिक हो गया है)।
जो कुछ भी मैं ऑनलाइन पढ़ता हूं वह मुझे एक एक्सएमएल संसाधन या फ़ाइल का उपयोग करने के लिए कहता है और फिर कक्षा के उदाहरणों में deserialise करने के लिए कहता है। लेकिन क्या यह वास्तव में एक संरचना का उपयोग करने के रूप में तेजी से हो सकता है? क्या एक्सएमएल उम्र को पर्स करने के लिए नहीं लेगा?
मुझे लगता है कि मैं यहां कोड लिखने में सक्षम हूं - मुझे यकीन नहीं है कि सबसे अच्छा तरीका किस प्रकार से शुरू करना है। मुझे लोड की गति में दिलचस्पी है और (अधिक महत्वपूर्ण बात) किसी भी चीज़ से रन टाइम एक्सेस अधिक है।
किसी भी मदद की बहुत सराहना की - पहला सवाल यहां है इसलिए मुझे उम्मीद है कि मैंने कुछ भी नहीं किया है।
क्रिस
हाय क्रिस, कुल मात्रा में डेटा का कितना मात्रा? आपके सिस्टम पर कितनी मेमोरी है और बहुत मुफ्त है? मुझे लगता है कि आप इमू पर परीक्षण कर रहे हैं। अगर आप मुझे यह नहीं मानते कि डेटा का स्रोत क्या है, तो मैं उत्सुक भी हूं .. मैं शहर के डेटा के लिए विकल्पों को भी देख रहा हूं। –
संदर्भ के लिए 100 एक्स सरल एक्सएमएल डेटा एक्सडी दस्तावेज का उपयोग करके XAP से लोड किया जा सकता है, जो एक सूची बॉक्स में प्रदर्शित होता है और 650 मेगाहट्र्ज डिवाइस पर 0.5sec में पृथक भंडारण में सहेजा जाता है। –
हाय मिक - मैं उस डेटा का उपयोग कर रहा हूं जो http://www.partow.net/miscellaneous/airportdatabase/index.html से आया था। वहां कुछ जंक है कि मैंने छीन लिया है और मैंने अक्षांश और देशांतर को मीट्रिक में परिवर्तित कर दिया है - यदि कोई तरीका है तो आप मेरे संपर्क में रह सकते हैं, मुझे अंतिम परिणाम साझा करने में खुशी होगी (यह एक्सेल स्प्रेडशीट में है अभी)। मैं एक्स डॉक्यूमेंट में देखूंगा - जो कि मेरे बाद के लिए पर्याप्त तेज़ लगता है! –