Avatar ·

C# में फ़ील्ड (field) और प्रॉपर्टी (property) में क्या अंतर है?

नमस्ते! मैंने C# सीखना शुरू किया है और मुझे फ़ील्ड और प्रॉपर्टी के बीच का अंतर पूरी तरह से समझ नहीं आ रहा है। दोनों डेटा स्टोर करते हैं, लेकिन अगर सिर्फ फ़ील्ड का उपयोग किया जा सकता है तो प्रॉपर्टीज़ की आवश्यकता क्यों है? मैंने उदाहरण देखे हैं जहाँ लोग कुछ इस तरह लिखते हैं: ```csharp public class Person { public string Name; // फ़ील्ड public int Age { get; set; } // प्रॉपर्टी } ``` और दोनों एक जैसे काम करते हैं। लेकिन मैंने सुना है कि प्रॉपर्टीज़ "सही" तरीका हैं, और फ़ील्ड को प्राइवेट रखना बेहतर है। क्यों? इसमें क्या पेच है? क्या आप उदाहरणों के साथ समझा सकते हैं? पहले से धन्यवाद! <<>>

मुख्य अंतर: फ़ील्ड एक वेरिएबल है, प्रॉपर्टी एक मेथड है

पहली नज़र में फ़ील्ड और प्रॉपर्टी समान लगते हैं, लेकिन उनकी आंतरिक प्रकृति मौलिक रूप से भिन्न है। फ़ील्ड केवल वैल्यू स्टोर करने के लिए मेमोरी का एक क्षेत्र है। प्रॉपर्टी get और set मेथड्स पर सिंटैक्टिक शुगर है, जो फ़ील्ड तक पहुँच को नियंत्रित करते हैं।

यहाँ बताया गया है कि कंपाइलर आपके कोड को कैसे देखता है: