सरणी सी # में उस तरह काम नहीं करते हैं, लेकिन आप किसी भी वर्ग के लिए एक इंडेक्सर संपत्ति जोड़ सकते हैं:
class MyClass
{
public string this[string key]
{
get { return GetValue(key); }
set { SetValue(key, value); }
}
}
तो फिर तुम बयान के प्रकार लिख सकते हैं तो आप इस के खिलाफ पूछते हैं:
MyClass c = new MyClass();
c["Name"] = "Bob";
इस प्रकार Dictionary<TKey, TValue>
, NameValueCollection
पर स्ट्रिंग-आधारित अनुक्रमित पहुंच और समान वर्ग लागू किए गए हैं। आप कई इंडेक्सर्स को भी कार्यान्वित कर सकते हैं, उदाहरण के लिए, इंडेक्स के लिए एक और नाम के लिए एक, आप बस एक अलग पैरामीटर प्रकार के साथ उपरोक्त एक और संपत्ति जोड़ते हैं।
कई निर्मित फ्रेमवर्क वर्गों पहले से ही इन indexers है, जिनमें शामिल हैं:
SortedList<TKey, TValue>
Dictionary<TKey, TValue>
SortedDictionary<TKey, TValue>
NameValueCollection
Lookup<TKey, TValue>
(System.Linq
में)
... और अधिक। ये सब कुछ अलग-अलग उद्देश्यों के लिए डिज़ाइन किए गए हैं, इसलिए आप प्रत्येक पर पढ़ना चाहेंगे और देखें कि आपकी आवश्यकता के लिए कौन सा उचित है।
हाँ, 'सिस्टम.कोलेक्शन' http://msdn.microsoft.com/en-us/library/system.collections.aspx – xandercoded
@xandercoded पर एक नज़र डालें, आप शायद 'System.Collections.Generic' चाहते हैं। 'System.Collections' .net से गैर-जेनेरिक रूप है। – Kobi
धन्यवाद ........: डी –