शब्दार्थ, a Dictionary<int, T>और List<T>बहुत समान हैं, दोनों .NET फ्रेमवर्क के यादृच्छिक अभिगम कंटेनर हैं। किसी शब्दकोश के प्रतिस्थापन के रूप में एक सूची का उपयोग करने के लिए, आपको अपनी सूची में खाली स्लॉट का प्रतिनिधित्व करने के लिए अपने प्रकार T(जैसे null) में एक विशेष मूल्य की आवश्यकता होती है । यदि Tएक अशक्त प्रकार नहीं है int, तो आप int?इसके बजाय उपयोग कर सकते हैं , या यदि आप केवल सकारात्मक मूल्यों को संग्रहीत करने की उम्मीद कर रहे हैं, तो आप खाली स्लॉट का प्रतिनिधित्व करने के लिए -1 जैसे विशेष मूल्य का भी उपयोग कर सकते हैं।
आपको जो चुनना होगा, वह प्रमुख मूल्यों की सीमा पर निर्भर होना चाहिए। यदि आपकी कुंजियाँ Dictionary<int, T>पूर्णांक अंतराल के भीतर हैं, तो उन दोनों के बीच कई अंतरालों के बिना (उदाहरण के लिए, [0, ... 100] में से 80 मान), तो एक List<T>और अधिक उपयुक्त होगा, क्योंकि अनुक्रमणिका तक पहुँच तेज़ है, और इस मामले में एक शब्दकोश की तुलना में स्मृति और समय बहुत कम है।
यदि आपके प्रमुख मूल्य int[0, ..., 1000000] जैसी सीमा से 100 मान हैं , तो List<T>T के 1000000 मान रखने के लिए मेमोरी की आवश्यकता है, जहाँ आपके शब्दकोश को T के 100 मानों के चारों ओर परिमाण के क्रम में मेमोरी की आवश्यकता होगी। Int के 100 मान (साथ ही कुछ ओवरहेड, वास्तव में उन 100 कुंजी और मूल्यों को संग्रहीत करने के लिए 2 गुना मेमोरी की उम्मीद करते हैं)। तो बाद के मामले में एक शब्दकोश अधिक उपयुक्त होगा।