2009-02-14 17 views
18

सी # का उपयोग करके अपना पहला एएसपीएनटी एमवीसी एप्लीकेशन लिखते समय, मुझे लगता है कि कुछ चर हैं जिनके नाम अंडरस्कोर वर्ण (_) से शुरू होते हैं।परिवर्तनीय नाम _ माध्य से शुरू होते हैं?

इसका क्या अर्थ है? क्या इसके लिए कोई विशिष्ट अर्थ है?

उत्तर

40

कोई भाषा परिभाषित अर्थ नहीं है - यह केवल एक सम्मेलन है जो कुछ लोग स्थानीय चर से आवृत्ति चर को अलग करने के लिए उपयोग करते हैं। अन्य भिन्नताओं में m_foo (और s_foo या g_foo या स्थिर चर) या mFoo शामिल हैं; वैकल्पिक रूप से कुछ लोग आवृत्ति चर के बजाय स्थानीय चर (और पैरामीटर) उपसर्ग करना पसंद करते हैं।

व्यक्तिगत रूप से मैं इस तरह के उपसर्ग का उपयोग नहीं करता, लेकिन यह एक स्टाइल पसंद है। जब तक कि एक ही परियोजना पर काम करने वाले हर कोई सुसंगत है, यह आम तौर पर एक मुद्दा नहीं है। मैंने कुछ को भयानक असंगत कोड देखा है ...

18

सामान्यतः, इसका अर्थ निजी सदस्य फ़ील्ड है।

+5

अधिक आम तौर पर, गैर-सार्वजनिक उदाहरण फ़ील्ड (जिसमें संरक्षित और आंतरिक भी शामिल हैं) के लिए। – Noldorin

4

बहुत से लोग संपत्ति निजी चर के लिए उनका उपयोग करते हैं (वे चर जो वास्तव में सार्वजनिक गुणों के लिए मूल्यों को संग्रहीत करते हैं)।

0

मैंने इसे पैरामीटर के लिए एक चर नाम के रूप में उपयोग किया है जिसका उपयोग बाकी कार्यों से उन्हें 'छिपाने' के तरीके के रूप में नहीं किया जा रहा है।

मैं यह नहीं कह सकता कि यह एक अच्छी या बुरी चीज है लेकिन यह संकेत देने में प्रभावी था कि पैरामीटर को फ़ंक्शन में उपयोग नहीं किया जाना था।

1

एक परिवर्तनीय नाम _val से पहले अंडरस्कोर एक सम्मेलन से अधिक कुछ नहीं है। सी # में, सार्वजनिक संपत्ति के लिए निजी सदस्य चर को परिभाषित करते समय इसका उपयोग किया जाता है।

मैं क्या @Steven Robbins कहा करने के लिए जोड़ देंगे:

private string _val; 
public string Values 
{ 
    get { return _val;} 
    set {_val = value;} 
} 
0

वहाँ '' के साथ एक उदाहरण संपत्ति का आरम्भ करने का एक और लाभ यह है, यह पहली Intellisense पर दिखाई देता है।
कोई मान/मॉडल/पीओसीओ कक्षा बनाते समय, मैं '
' का उपयोग नहीं करता हूं।

संबंधित मुद्दे