C# में Static readonly बनाम const: क्या अंतर है और क्या चुनें?
सभी को नमस्ते! मैं एक शुरुआती C# डेवलपर हूँ और दो समान अवधारणाओं में उलझ गया हूँ: `static readonly` और `const`। दोनों का उपयोग अपरिवर्तनीय मान घोषित करने के लिए किया जाता है, लेकिन मुझे समझ नहीं आता कि प्रत्येक का उपयोग कब करना चाहिए।
उदाहरण के लिए, मैं गणितीय गणनाओं के लिए एक क्लास लिख रहा हूँ:
```csharp
public class MathHelper
{
public const double Pi = 3.14159;
public static readonly double E = 2.71828;
}
```
दोनों को const क्यों नहीं बनाया जाए? या दोनों को `static readonly`? यहाँ मूलभूत अंतर क्या है?
मैंने पढ़ा है कि `const` तेज़ काम करता है, लेकिन `static readonly` किसी तरह मेमोरी से संबंधित है। मैंने यह भी सुना है कि `const` का उपयोग केवल प्रिमिटिव टाइप के लिए किया जा सकता है, जबकि `static readonly` किसी भी टाइप के लिए। लेकिन मुझे व्यावहारिक परिणाम पूरी तरह स्पष्ट नहीं हैं।
क्या आप सरल उदाहरणों के साथ समझा सकते हैं कि कब कौन सा विकल्प उपयोग करना चाहिए? विशेष रूप से, लाइब्रेरी (DLL) में कोड बदलने पर व्यवहार में दिलचस्पी है — मैंने सुना है कि इसमें कुछ खतरे हैं।
आपकी मदद के लिए पहले से धन्यवाद!
अभी तक कोई उत्तर नहीं।
लॉग इन करें उत्तर देने के लिए