सी # में, दो मुख्य प्रकार की श्रेणियां मूल्य प्रकार (जैसे संरचनाएं), और संदर्भ प्रकार (जैसे कक्षाएं) हैं। क्योंकि एक संरचना (या संरचना) एक मान प्रकार है, यह डेटा-केंद्रित है।
एक संरचना विशेषताओं और संबंधित विधियों को संग्रहीत कर सकती है, जो अधिमानतः व्यवहार पर ध्यान केंद्रित नहीं करती हैं।
एक संरचना कैसे घोषित करें
प्रत्येक संरचना घोषणा में होना चाहिए struct खोजशब्द। एक्सेस संशोधक के साथ स्ट्रक्चर कीवर्ड से पहले और उसके बाद एक नाम और घुंघराले ब्रेसिज़ की एक जोड़ी शामिल करें। गेम नामक एक संरचना घोषित करने का तरीका यहां दिया गया है:
जनता संरचना खेल {}
एक स्ट्रक्चर को कैसे पॉप्युलेट करें
एक संरचना अपने घुंघराले ब्रेसिज़ के भीतर विशेषताओं, निर्माणकर्ताओं, विधियों, घटनाओं आदि के रूप में डेटा संग्रहीत करती है।
जनता संरचना खेल
{
जनता स्ट्रिंग नाम;
जनता स्ट्रिंग विवरण;
जनतापूर्णांक स्तर;जनताखेल(स्ट्रिंग नाम, स्ट्रिंग विवरण, पूर्णांक स्तर){
यहनाम = नाम;
यहविवरण = विवरण;
यहस्तर = स्तर;
}
सार्वजनिक ओवरराइड स्ट्रिंग ToString () => $"नाम: {नाम}, विवरण: {विवरण}, स्तर: {स्तर}";
}
गेम स्ट्रक्चर में अब तीन विशेषताएँ हैं, एक कंस्ट्रक्टर और एक विधि। ये C# संरचना के तीन प्राथमिक घटक हैं, जो a. के प्राथमिक घटकों में से तीन भी हैं
सी#वर्ग.स्ट्रक्चर वेरिएबल कैसे बनाएं
C# संरचना के प्रत्येक उदाहरण को a. के रूप में जाना जाता है चर. a. बनाने के दो तरीके हैं चर एक संरचना से। आप एक कंस्ट्रक्टर का उपयोग कर सकते हैं:
गेम गेम1 = नया गेम ("पीओकेéसोम जाओ", "लोरेन इपसाम डलार सिट आमेट।", 50);
या आप डॉट (।) ऑपरेटर का उपयोग करके किसी संरचना की अलग-अलग विशेषताओं के लिए मान निर्दिष्ट कर सकते हैं:
खेल खेल1;
game1.name = "पीओकेéसोम जाओ";
game1.description = "लोरेन इपसाम डलार सिट आमेट।";
खेल 1.स्तर = 50;
दोनों दृष्टिकोण एक ही परिणाम प्राप्त करते हैं। उपरोक्त कोड पोकेमॉन गो नामक गेम ऑब्जेक्ट को विकसित करने के लिए सी # का उपयोग करता है जिसमें एक संक्षिप्त विवरण और 50 स्तर होते हैं। तो, अब आप game1 ऑब्जेक्ट का उपयोग कर सकते हैं।
सांत्वना देना।पंक्ति लिखो(खेल1।तार());
यह निम्न आउटपुट को कंसोल पर प्रिंट करता है:
नाम: पोकीéसोम गो, विवरण: लोरेम इप्सम डोलर सिट एमेट।, स्तर: 50
एक संरचना और एक वर्ग के बीच अंतर
एक संरचना और एक वर्ग की उपस्थिति समान होती है, लेकिन उनमें कई उल्लेखनीय अंतर होते हैं। वे डिक्लेरेशन के लिए अलग-अलग कीवर्ड का इस्तेमाल करते हैं। और structs न तो अशक्त संदर्भ और न ही वंशानुक्रम का समर्थन करते हैं।