C# में, एक स्ट्रक्चर एक वैल्यू टाइप डेटा टाइप है। यह आपको एक ही वेरिएबल में विभिन्न डेटा टाइप्स के संबंधित डेटा को रखने में मदद करता है। स्ट्रक्चर बनाने के लिए struct कीवर्ड का उपयोग किया जाता है।
जब आप एक क्लास परिभाषित करते हैं, तो आप एक डेटा टाइप के लिए ब्लूप्रिंट परिभाषित करते हैं।
C# में क्लासेस और स्ट्रक्चर्स के बीच निम्न अंतर हैं:
क्लासेस रेफरेंस टाइप हैं और स्ट्रक्चर्स वैल्यू टाइप हैं
क्लासेस के विपरीत, स्ट्रक्चर्स अन्य स्ट्रक्चर्स या क्लासेस को इनहेरिट नहीं कर सकते।
स्ट्रक्चर्स को अन्य स्ट्रक्चर्स या क्लासेस के लिए बेस के रूप में उपयोग नहीं किया जा सकता।
जब आप New ऑपरेटर का उपयोग करके स्ट्रक्चर ऑब्जेक्ट बनाते हैं, तो यह बन जाता है और उपयुक्त कंस्ट्रक्टर कॉल किया जाता है। क्लासेस के विपरीत, स्ट्रक्चर्स को New ऑपरेटर के बिना इंस्टेंशिएट किया जा सकता है।
स्ट्रक्चर्स इनहेरिटेंस को सपोर्ट नहीं करते
स्ट्रक्चर्स में डिफ़ॉल्ट कंस्ट्रक्टर नहीं हो सकता