[] ऑपरेटर एक इंडेक्सर कहा जाता है। आप इंडेक्सर्स प्रदान कर सकते हैं जो एक पूर्णांक, एक स्ट्रिंग, या किसी अन्य प्रकार को लेते हैं जिसे आप कुंजी के रूप में उपयोग करना चाहते हैं। संपत्ति एक्सेसर्स के समान सिद्धांतों के बाद वाक्यविन्यास सरल है।
उदाहरण के लिए, आपके मामले में जहां एक int
है कुंजी या सूचकांक:
public int this[int index]
{
get
{
return GetValue(index);
}
}
तुम भी एक सेट एक्सेसर ताकि इंडेक्सर पढ़ा हो जाता है जोड़ सकते हैं और केवल पढ़ने के लिए बस के बजाय लिख सकते हैं।
public int this[int index]
{
get
{
return GetValue(index);
}
set
{
SetValue(index, value);
}
}
यदि आप किसी भिन्न प्रकार का उपयोग करके इंडेक्स करना चाहते हैं, तो आप केवल सूचकांक के हस्ताक्षर को बदल दें।
public int this[string index]
...
स्रोत
2009-01-08 15:39:38
यह क्यों है कि हर बार जब मुझे एक इंडेक्स ऑपरेटर को लागू करने की आवश्यकता होती है, तो मुझे इसे देखना होगा? और हर बार जब मैं इस जवाब पर समाप्त होता हूं ... इच्छा है कि मैं इसे कई बार वोट दे सकता हूं :) – DSO
यह बहुत बढ़िया है। क्या यह एक इंटरफ़ेस में किया जा सकता है? ''इंटरफेस आईसीएएच { ऑब्जेक्ट [स्ट्रिंग कुंजी] {प्राप्त करें; सेट; } } '' ** संपादित करें: ** [हां।] (Http://stackoverflow.com/questions/9586625/how-to-define-indexer-behaviour-to-an-interface) – Michael
नहीं पता कि उन्होंने क्यों चुना इस घोषणा में 'ऑपरेटर' शब्द को छोड़ने के लिए - यह गलती है जो मैं हमेशा करता हूं! अच्छा जवाब –