int[,]
एक आयताकार सरणी है - एक वस्तु है जो दो आयाम हैं। सरणी का प्रत्येक तत्व एक पूर्णांक है; सभी तत्व स्मृति में संगत रूप से संग्रहीत हैं। एक सरणी जहां प्रत्येक तत्व बारी एक int[]
में है -
int[][]
एक दांतेदार सरणी है। (तो यह सरणी की एक सरणी है।) हालांकि "शीर्ष स्तर" सरणी के प्रत्येक तत्व को संयोजित रूप से संग्रहीत किया जाता है, लेकिन वे तत्व अन्य सरणी के संदर्भ हैं, जो स्मृति में कहीं भी हो सकते हैं।
जबकि आयताकार सरणी में हमेशा प्रति पंक्ति स्तंभों की संख्या समान होती है, एक जंजीर सरणी में प्रत्येक तत्व की एक अलग लंबाई हो सकती है (या वास्तव में शून्य हो सकती है)।
प्रत्येक के अपने फायदे और नुकसान होते हैं; आयताकार सरणी स्मृति के मामले में अधिक कॉम्पैक्ट हैं, लेकिन दुर्लभ आबादी की अनुमति नहीं देते हैं। सीएलआर में जालीदार सरणी तेज हैं, लेकिन अच्छे कैश समेकन के रूप में नहीं है। जंजीर सरणी में "पंक्ति सरणी" द्वारा उठाई गई अतिरिक्त जगह कुछ मामलों में महत्वपूर्ण हो सकती है - यदि आपके पास int[10000, 2]
है जो केवल 80000 बाइट्स और एक सरणी ऑब्जेक्ट का ओवरहेड लेगा, जबकि एक जंजीर सरणी में यह होगा डेटा के लिए 80000 बाइट्स और 10001 सरणी ऑब्जेक्ट्स के ओवरहेड।
एमएसडीएन के पास arrays tutorial में अधिक जानकारी है।
स्रोत
2010-08-12 14:47:25
यह सबसे अच्छा जवाब है (प्रश्न के बावजूद) जो मैंने कभी पढ़ा है। –