2010-12-30 15 views

उत्तर

94

जेनिक्स क्लास पर डेटा प्रकार (ओं) निर्दिष्ट किए बिना कक्षा के लिए कोड लिखने की तकनीक को संदर्भित करता है।

जब आप जेनेरिक क्लास का उदाहरण घोषित करते हैं तो आप डेटा प्रकार निर्दिष्ट करते हैं। यह एक सामान्य वर्ग को कई अलग-अलग डेटा प्रकारों के लिए विशिष्ट होने की अनुमति देता है जबकि केवल कक्षा को लिखना होता है।

.NET में कई संग्रह कक्षाएं हैं। प्रत्येक संग्रह वर्ग का अपना कार्यान्वयन होता है कि संग्रह कैसे बनाया और प्रबंधित किया जाता है। लेकिन वे जेनिक्स का उपयोग अपनी कक्षा को किसी भी प्रकार के संग्रह के साथ काम करने की अनुमति देने के लिए करते हैं।

http://msdn.microsoft.com/en-us/library/ms379564(VS.80).aspx

+11

+1 विस्तृत करने की कोशिश कर रहा है और यह आसान सेशन को समझने के लिए बनाने के लिए! आपकी व्याख्या के लिए –

+0

thnx। मुझे जेनेरिक के बारे में कुछ बुनियादी विचार मिला है। – Karthik

+0

उत्तर में उल्लिखित अंक भी व्यक्तिगत तरीकों पर लागू होते हैं। – Sai

6

वास्तव में सी # में जेनेरिक्स के बारे में कुछ खास नहीं है। सी # बस जाने-माने अवधारणाओं को लेना पसंद करता है और उन्हें कुछ अलग कहता है (उदा। कॉलिंग प्रक्रियाएं "स्थैतिक विधियां" या flatMap "SelectMany" पर कॉल करना)। इस विशेष मामले में, जेनिक्स रैंक -1 पैरामीट्रिक पॉलिमॉर्फिज्म के लिए सिर्फ सी # का नाम है।

+2

मुझे इसे साक्षात्कार के उत्तरों के लिए इस्तेमाल करने के लिए याद रखना होगा .. मुझे लगता है कि यह उनके मोजे बंद कर देता है .. (मुझे नहीं पता कि क्या तुमने कहा लेकिन यह बहुत अच्छा लगता है!) – ppumkin

1

MSDN से:

जेनेरिक्स सी # के सबसे शक्तिशाली विशेषता है। जेनेरिक आपको वास्तविक डेटा प्रकारों के बिना, टाइप-सुरक्षित डेटा संरचनाओं को परिभाषित करने की अनुमति देता है। इसके परिणामस्वरूप एक महत्वपूर्ण प्रदर्शन वृद्धि और उच्च गुणवत्ता कोड होता है, क्योंकि आप डेटा प्रोसेसिंग एल्गोरिदम को टाइप-विशिष्ट कोड डुप्लिकेट किए बिना पुन: उपयोग करते हैं। अवधारणा में, जेनिक्स सी ++ टेम्पलेट्स के समान हैं, लेकिन कार्यान्वयन और क्षमताओं में काफी भिन्न हैं।

https://msdn.microsoft.com/en-us/library/ms379564.aspx

संबंधित मुद्दे