इंडेक्सर (प्रोग्रामिंग)
This article may be confusing or unclear to readers. In particular, is this a C# or a general OO concept? Surely the interesting thing is the use of the keyword 'this', not what is emphasised here? Why is this whole article only sourced to one C# forum post (the other forum post is a dead link). Maybe an example of use of the example class would demonstrate the purpose of the construct. Wikipedia is not a manual, guidebook or textbook WP:NOTHOWTO.. (April 2015) (Learn how and when to remove this template message) |
ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग में, एक इंडेक्सर किसी विशेष वर्ग या संरचना के उदाहरणों को सरणियों की तरह अनुक्रमित करने की अनुमति देता है।[1] यह ऑपरेटर ओवरलोडिंग का एक रूप है।
कार्यान्वयन
इंडेक्सर्स को गेट और सेट म्यूटेटर विधियों के माध्यम से कार्यान्वित किया जाता है operator[]
. वे संपत्ति (प्रोग्रामिंग) के समान हैं, लेकिन स्टेटिक विधि नहीं होने के कारण भिन्न हैं, और तथ्य यह है कि इंडेक्सर्स के एक्सेसर्स पैरामीटर लेते हैं। गेट और सेट एक्सेसर्स को इंडेक्सर घोषणा की पैरामीटर सूची का उपयोग करके विधियों के रूप में बुलाया जाता है, लेकिन सेट एक्सेसर में अभी भी निहित है value
पैरामीटर।
उदाहरण
यहाँ एक वर्ग में एक अनुक्रमणिका के उपयोग का C# उदाहरण दिया गया है: [2] <वाक्यविन्यास प्रकाश लैंग = csharp> वर्ग परिवार {
निजी सूची <स्ट्रिंग> _परिवार सदस्य = नई सूची <स्ट्रिंग> ();
सार्वजनिक परिवार (पैराम्स स्ट्रिंग [] सदस्य) { _familyMembers.AddRange (सदस्य); }
सार्वजनिक स्ट्रिंग यह [इंट इंडेक्स] { // एक्सेसर प्राप्त करें प्राप्त करें => _परिवार सदस्य [अनुक्रमणिका];
// सेट एक्सेसर के साथ सेट => _परिवार सदस्य [अनुक्रमणिका] = मूल्य; }
सार्वजनिक int [स्ट्रिंग वैल] { // मूल्य द्वारा सूचकांक प्राप्त करना (पहला तत्व मिला) get => _familyMembers.FindIndex (एम => एम == वैल); }
सार्वजनिक int लंबाई => _familyMembers.Count; } </वाक्यविन्यास हाइलाइट>
उपयोग उदाहरण:
<वाक्यविन्यास प्रकाश लैंग = csharp> शून्य मुख्य () {
var doeFamily = नया परिवार (जॉन, जेन); for (int i = 0; i <doeFamily.Length; i++) { var सदस्य = doeFamily [i]; var index = doeFamily [सदस्य]; // इस मामले में i जैसा ही है, लेकिन यह इंडेक्सर ओवरलोडिंग को प्रदर्शित करता है जिससे doeFamily को मूल्य से खोजा जा सकता है। कंसोल.राइटलाइन ($ {सदस्य} {nameof(doeFamily)} की सदस्य संख्या {इंडेक्स} है); }
} </वाक्यविन्यास हाइलाइट>
इस उदाहरण में, अनुक्रमणिका का उपयोग nवें स्थान पर मान प्राप्त करने के लिए किया जाता है, और उसके बाद उसके मान द्वारा संदर्भित सूची में स्थिति प्राप्त करने के लिए किया जाता है। कोड का आउटपुट है:
जॉन doeFamily का सदस्य संख्या 0 है जेन doeFamily की सदस्य संख्या 1 है
यह भी देखें
- म्यूटेटर विधि
संदर्भ
- ↑ jagadish980 (2008-01-29). "C# - What is an indexer in C#". SURESHKUMAR.NET FORUMS. Archived from the original on September 22, 2009. Retrieved 2011-08-01.
- ↑ "C# Interview Questions". .net Funda. Retrieved 2011-08-01.