क्या कोई इंडेक्स प्रकार करने के लिए कोई अंतर्निहित सी # समर्थन है?क्या इंडेक्स-आधारित सॉर्ट के लिए सी # समर्थन है?
अधिक जानकारी:
मेरे पास डबल के व्यक्तिगत जेनेरिक सूचियों में संग्रहीत डेटा के कई सेट हैं। ये सूचियां हमेशा लंबाई में बराबर होती हैं, और संबंधित डेटा आइटम धारण करती हैं, लेकिन ये सूचियां आती हैं और गतिशील रूप से जाती हैं, इसलिए मैं केवल कक्षा या संरचना में संबंधित डेटा आइटम को स्टोर नहीं कर सकता। (मैं कुछ विरासत मुद्दों से भी निपट रहा हूं।)
मुझे किसी भी डेटा सेट से इन कुंजी को सॉर्ट करने में सक्षम होना चाहिए।
ऐसा करने का सबसे अच्छा तरीका मेरा विचार है कि एक स्तर का संकेत जोड़ें, और एक इंडेक्स आधारित सॉर्ट का उपयोग करें। इस तरह के वर्षों के लिए उपयोग में किया गया है।
सूचकांक के त्वरित परिभाषा तरह आधारित:
मेकअप "अनुक्रमणिका", लगातार पूर्णांकों की एक सरणी सूची के रूप में एक ही लंबाई, तो तरह एल्गोरिथ्म पूर्णांकों की सूची क्रमित करता है जिससे कि anylist[index[N]]
anylist की वां आइटम देता है क्रमबद्ध क्रम में। सूचियों को कभी भी फिर से आदेश नहीं दिया जाता है।
क्या कोई इंडेक्स प्रकार करने के लिए कोई अंतर्निहित सी # समर्थन है? मैं इसे खोजने में असमर्थ रहा हूं ... जो कुछ भी मैंने पाया है वह संग्रह स्वयं ही है। मेरा अनुमान है कि समर्थन मौजूद है लेकिन मैंने अभी तक सही जगह पर नहीं देखा है।
मैं विंडोज के तहत सी # .NET 3.5 का उपयोग कर रहा हूं।
वाह! बहुत शानदार है। वही है जो मुझे एक पंक्ति में चाहिए था। मुझे लगता है कि यह लिंक का उपयोग करना चाहिए। मैंने इसका अध्ययन नहीं किया है और इसलिए यह नहीं पता कि यह कैसे काम करता है ... अनुमान है कि मुझे कुछ अध्ययन करने की ज़रूरत है। धन्यवाद! –
नहीं, कोई LINQ नहीं है, लेकिन एक लैम्ब्डा अभिव्यक्ति है जिसका उपयोग आमतौर पर LINQ के साथ किया जाता है। – Guffa
और यदि आपकी सरणी तुलनीय नहीं है, तो इसकी केवल 1 और पंक्ति: तुलनात्मक तुलनाकर्ता = तुलनात्मक डीफॉल्ट; ऐरे। सॉर्ट (इंडेक्स, (ए, बी) => तुलनाकर्ता। कॉम्पारेयर (सरणी [ए], सरणी [बी])); –