C# में कई बिल्ट-इन डेटा स्ट्रक्चर्स System.Collections और System.Collections.Generic नेमस्पेस में उपलब्ध हैं।
1. List<T> (जेनेरिक लिस्ट)
- डायनामिक साइज़ ऐरे
- टाइप-सेफ, रैंडम एक्सेस O(1)
- ऐरे के विपरीत आकार बदल सकता है
List myList = new List();
myList.Add("Item1");
myList.Add("Item2");
2. ArrayList (नॉन-जेनेरिक)
- ऑब्जेक्ट्स का क्रमबद्ध संग्रह
- किसी भी टाइप के एलिमेंट्स रख सकता है
- बॉक्सिंग/अनबॉक्सिंग ओवरहेड
- विरासत कोड के लिए, नए कोड में List<T> उपयोग करें
ArrayList arr = new ArrayList();
arr.Add(67); // int (बॉक्स्ड)
arr.Add("Hello"); // string
arr.Add(3.14); // double
अन्य महत्वपूर्ण डेटा स्ट्रक्चर्स
| क्लास | विवरण | नेमस्पेस |
|---|---|---|
| Dictionary<TKey,TValue> | की-वैल्यू पेयर, फास्ट लुकअप | Generic |
| HashSet<T> | यूनिक एलिमेंट्स, सेट ऑपरेशन्स | Generic |
| Queue<T> | FIFO कलेक्शन | Generic |
| Stack<T> | LIFO कलेक्शन | Generic |
| LinkedList<T> | डबल लिंक्ड लिस्ट | Generic |
| SortedList<TKey,TValue> | सॉर्टेड की-वैल्यू | Generic |
| ConcurrentDictionary | थ्रेड-सेफ डिक्शनरी | Concurrent |
सिफारिश:
हमेशा जेनेरिक वर्जन (List<T>, Dictionary<TKey,TValue>, आदि) उपयोग करें - बेहतर परफॉर्मेंस, टाइप सेफ्टी, कोई बॉक्सिंग नहीं।