मैं एक सी # व्यवहार में आया हूं जिसे मैं समझना चाहता हूं। इस तरह एक वर्ग पर विचार करें:सी # स्थैतिक क्षेत्र, उदाहरण कन्स्ट्रक्टर
public class SomeSingleton
{
public static SomeSingleton Default = new SomeSingleton();
private static int field = 0;
private SomeSingleton()
{
field = 1;
}
public int GetField()
{
return field;
}
}
अब, चलो फोन GetField() विधि करते हैं:
var field = SomeSingleton.Default.GetField();
मैं 0
हो रही है के रूप में अगर उदाहरण के निर्माता को छोड़ दिया गया था। क्यूं कर?
बेहतर अभी तक, 'फ़ील्ड' के लिए प्रारंभकर्ता को पूरी तरह से लें। जब ऑब्जेक्ट पहली बार बनाया जाता है (स्थिर फ़ील्ड के लिए, जब टाइप पहली बार लोड होता है) सभी फ़ील्ड शून्य (या 'null') पर प्रीसेट होते हैं। –