C# में const और readonly में क्या अंतर है?
सभी को नमस्ते! मैं C# में नौसिखिया हूँ और लगातार `const` और `readonly` कीवर्ड के बीच भ्रमित हो जाता हूँ। दोनों ही मान को अपरिवर्तनीय बनाते हैं, लेकिन मुझे लगता है कि यह पूरी तरह सही नहीं है।
मेरे पास ऐसा कोड है:
```csharp
public class MyClass
{
public const int MaxAttempts = 5;
public readonly string ConnectionString = "localhost";
public void Test()
{
// MaxAttempts = 10; // त्रुटि - const को बदला नहीं जा सकता
// ConnectionString = "new"; // त्रुटि - readonly को बदला नहीं जा सकता
}
}
```
दोनों फ़ील्ड को इनिशियलाइज़ेशन के बाद बदला नहीं जा सकता। लेकिन फिर अंतर क्या है? मैंने सुना है कि `const` कंपाइलेशन समय पर काम करता है, जबकि `readonly` रनटाइम पर। व्यवहार में इसका क्या मतलब है? मुझे `const` कब उपयोग करना चाहिए और `readonly` कब? और मैं कंस्ट्रक्टर में `readonly` को इनिशियलाइज़ क्यों कर सकता हूँ, लेकिन `const` को नहीं?
कृपया सरल उदाहरणों के साथ समझाएँ। पहले से धन्यवाद!
<<>>
मुख्य अंतर: गणना का समय और उपयोग का दायरा
मुख्य