जेनरिक हमें प्लेसहोल्डर के साथ एक वर्ग को उसके क्षेत्रों, विधियों, मापदंडों आदि के प्रकार के लिए परिभाषित करने की अनुमति देता है। जेनरिक इन प्लेसहोल्डर्स को संकलन समय पर कुछ विशिष्ट प्रकार से बदल देता है। कोण कोष्ठक <> का उपयोग करके एक सामान्य को परिभाषित किया जा सकता है। संग्रह की प्राथमिक सीमा प्रभावी प्रकार की जाँच का अभाव है। इसका मतलब है कि आप किसी भी वस्तु को संग्रह में रख सकते हैं क्योंकि सी # प्रोग्रामिंग भाषा में सभी वर्ग ऑब्जेक्ट बेस क्लास से विस्तारित होते हैं।
इसके अलावा, हम सामान्य विधि की तरह सामान्य विधि से केवल अशक्त नहीं लौट सकते। नीचे वह त्रुटि है जो एक सामान्य विधि फेंक देगी यदि हम शून्य वापस करने का प्रयास कर रहे हैं।
using System; namespace DemoApplication { class Program { public static void Main() { Add(5, 5); } public static T Add<T>(T parameter1, T parameter2) { return null; } } }
इसलिए, एक सामान्य विधि से एक शून्य या डिफ़ॉल्ट मान वापस करने के लिए हम डिफ़ॉल्ट () का उपयोग कर सकते हैं। डिफ़ॉल्ट (टी) प्रदान किए गए प्रकार की डिफ़ॉल्ट वस्तु लौटाएगा।
उदाहरण
using System; namespace DemoApplication { class Program { public static void Main() { Add(5, 5); Console.ReadLine(); } public static T Add<T>(T parameter1, T parameter2) { var defaultVal = default(T); Console.WriteLine(defaultVal); return defaultVal; } } }
आउटपुट
कोड का आउटपुट है
0
यहां हम देख सकते हैं कि पूर्णांक 0 का डिफ़ॉल्ट मान वापस आ गया है।