अतिरिक्त चर का उपयोग करना अक्सर आवश्यक होता है जो केवल सबरूटीन में उपयोग किया जाएगा। इस तरह के चर को स्थानीय (या स्थानीय) कहा जाता है और केवल उस सबरूटीन के भीतर ही हेरफेर किया जा सकता है जिसमें वे बनाए गए हैं।
लोकल वेरिएबल स्कोप घुमावदार ब्रैकेट वाला ब्लॉक है जिसके भीतर इसे घोषित किया जाता है। div>
C# में मुख्य प्रोग्राम भी एक सबरूटीन है, इसलिए
void Main()
के अंदर घोषित सभी वेरिएबल्स
स्थानीय चर हैं। अन्य सबरूटीन्स अन्य सबरूटीन्स के स्थानीय वेरिएबल्स के बारे में कुछ भी "जानते" नहीं हैं।
इस प्रकार, एक चर के दायरे (दायरे) को केवल उपनेमका तक सीमित करना संभव है जहां इसकी वास्तव में आवश्यकता है। प्रोग्रामिंग में, इस तकनीक को
एनकैप्सुलेशन - वेरिएबल को बाहर से बदलने से छुपा रहा है।
यदि एक चर घोषित करना आवश्यक है जो कार्यक्रम में कहीं भी दिखाई देगा (किसी भी उपनेमका में), तो ऐसे चर सभी उपनेमकाओं के बाहर घोषित किए जाते हैं (नीचे दी गई तालिका से कार्यक्रम 3 देखें)।
ऐसे चरों को
वैश्विक कहा जाता है।
C# में, जब प्रोग्राम शुरू होता है, तो सभी वैश्विक चर स्वचालित रूप से शून्य पर सेट हो जाते हैं (बूलियन चर गलत मान लेते हैं)।
तीन कार्यक्रमों का विश्लेषण करें:
<टेबल बॉर्डर = "1" सेलपैडिंग = "1" सेलस्पेसिंग = "1">
<शरीर>
1) इस प्रोग्राम में वेरिएबल i लोकल है। सबरूटीन के अंदर एक लोकल वेरिएबल घोषित किया जाता है। |
2) यहां, भले ही मुख्य प्रोग्राम में वेरिएबल i हो (वैल्यू 7 के साथ), वैल्यू 5 के साथ एक नया लोकल वेरिएबल i बनाया जाएगा।
जब इस प्रोग्राम को निष्पादित किया जाता है, तो मान 75 स्क्रीन पर दिखाई देगा। |
3) इस प्रोग्राम का एक ग्लोबल वेरिएबल i है। इसका मान सबरूटीन के अंदर और मुख्य प्रोग्राम के अंदर बदला जा सकता है।
प्रक्रिया वैश्विक चर i के साथ काम करेगी और इसे 2 के बराबर एक नया मान दिया जाएगा। मान 2 प्रदर्शित होता है। |
<टीडी>
स्थैतिक शून्य परीक्षण ()
{
इंट मैं = 5;
कंसोल.लिखें("मैं");
}
पूर्व>
टीडी>
<टीडी>
स्थैतिक शून्य परीक्षण ()
{
इंट मैं = 5;
कंसोल.लिखें("मैं");
}
स्थिर शून्य मुख्य ()
{
इंट मैं = 7;
कंसोल.लिखें("मैं");
परीक्षा();
}
पूर्व>
टीडी>
<टीडी>
सिस्टम का उपयोग करना;
वर्ग कार्यक्रम
{
int मैं;
स्थैतिक शून्य परीक्षण ()
{
मैं = 2;
}
स्थिर शून्य मुख्य ()
{
परीक्षा();
कंसोल.लिखें("मैं");
}
}
पूर्व>
टीडी>
टेबल>