का उत्सुक बस उत्सुक है।असाइन किए गए गैर-शून्य परिवर्तनीय (सी #)
तुम जाओ, तो:
string myString;
इसका मान रिक्त है।
लेकिन अगर आप जाना:
int myInt;
सी # में इस वेरिएबल का मान क्या है?
धन्यवाद
डेविड
का उत्सुक बस उत्सुक है।असाइन किए गए गैर-शून्य परिवर्तनीय (सी #)
तुम जाओ, तो:
string myString;
इसका मान रिक्त है।
लेकिन अगर आप जाना:
int myInt;
सी # में इस वेरिएबल का मान क्या है?
धन्यवाद
डेविड
सबसे पहले, ध्यान दें कि यह केवल फ़ील्ड के लिए लागू है, स्थानीय चर नहीं - उनको तब तक पढ़ा नहीं जा सकता जब तक उन्हें कम से कम C# के भीतर असाइन नहीं किया जाता है। वास्तव में सीएलआर 0 में स्टैक फ्रेम शुरू करता है यदि आपके पास उचित ध्वज सेट है - जो मुझे विश्वास है कि यह डिफ़ॉल्ट रूप से है। यद्यपि यह शायद ही कभी देखा जा सकता है - आपको कुछ गड़बड़ हैक्स से गुजरना है।
int
का डिफ़ॉल्ट मान 0 है - और किसी भी प्रकार के लिए, यह अनिवार्य रूप से शून्य से भरा थोड़ा पैटर्न द्वारा दर्शाया गया मान है। मान प्रकार के लिए यह पैरामीटर रहित कन्स्ट्रक्टर को कॉल करने के बराबर है, और संदर्भ प्रकार के लिए यह शून्य है।
मूल रूप से सीएलआर स्मृति के साथ मेमोरी को साफ करता है।
यह किसी भी प्रकार के लिए default(SomeType)
द्वारा दिया गया मान भी है।
+1। – RedFilter
और फ़ील्ड/वेरिएबल भेद – Blorgbeard
के लिए +1 जब मैंने प्रश्न लिखा था तो मेरा मतलब क्षेत्र के बजाय स्थानीय चर था, लेकिन चूंकि मैं इस संबंध में भेद से अनजान था, इसलिए मैंने यह स्पष्ट नहीं किया। मुझे नहीं पता था कि int फ़ील्ड शून्य पर शुरू किए गए थे - उस जानकारी के लिए धन्यवाद। – David
पूर्णांक के डिफ़ॉल्ट 0
है पूर्णांक के लिए डिफ़ॉल्ट मान 0.
है यहाँ प्रकार के अनुसार मूलभूत मूल्यों की पूरी सूची के लिए देखें: http://msdn.microsoft.com/en-us/library/83fhsxwc.aspx
यहां सी #: http://msdn.microsoft.com/en-us/library/83fhsxwc.aspxमें मान प्रकारों के लिए डिफ़ॉल्ट मानों की एक तालिका हैसंदर्भ प्रकार डिफ़ॉल्ट मान आमतौर पर शून्य है।
स्ट्रिंग एक संदर्भ प्रकार है। Int एक मूल्य प्रकार है। संदर्भ प्रकार केवल ढेर पर निर्देशित स्टैक पर एक सूचक होते हैं, जिसमें कोई मान हो सकता है या नहीं। एक मान प्रकार केवल ढेर पर मूल्य है, लेकिन इसे हमेशा कुछ पर सेट किया जाना चाहिए।
T
के एक प्रारंभिक चर के लिए मान हमेशा default(T)
है। सभी संदर्भ प्रकारों के लिए यह शून्य है, और मूल्य प्रकारों के लिए लिंक @Blorgbeard पोस्ट किया गया है (या इसे जांचने के लिए कुछ कोड लिखें)।
आपके लिए इसका उत्तर देने के लिए एक सरल परीक्षण पर्याप्त होगा। – spender
मुझे लगता है कि उत्तरों की गुणवत्ता ने प्रश्न के मूल्य को साबित कर दिया है। पृष्ठभूमि यांत्रिकी प्रदान करने के लिए – David