यह एक चाल है जो काम करने के लिए होती है क्योंकि यह केवल सामान्य if-statement का पुनर्लेखन है।इस कोड को इस के बराबर है:
int.TryParse
कहा जाता है, variable
इस से पहले आरंभ नहीं किया है, लेकिन यह या तो नहीं है:
int variable;
if (int.TryParse(stringVariable, out variable))
variable = variable;
else
variable = 0;
क्रम इस प्रकार है। एक out
पैरामीटर को एक निश्चित असाइन किए गए चर की आवश्यकता नहीं है। विधि निष्पादन के हिस्से के रूप में, variable
को एक मान दिया जाएगा, और int.TryParse
true
या false
वापस करेगा।
विधि देता है, तो true
तो अभिव्यक्ति का परिणाम variable
हो जाएगा और इस प्रकार हम मूल रूप से variable = variable
निष्पादित करेंगे।
विधि देता है, तो false
तो अभिव्यक्ति का परिणाम बजाय 0
हो जाएगा, और variable
अब क्या यह int.TryParse
के भाग के रूप में दिया गया था की परवाह किए बिना मूल्य 0
दिया जाएगा। इस मामले में, हालांकि, यह परिवर्तनीय नहीं बदलेगा क्योंकि int.TryParse
ने variable
को डिफ़ॉल्ट मान दिया है जब यह false
देता है जो 0
भी होता है।
यह मूल रूप से एक पंक्ति पर सब कुछ पाने का एक तरीका है।
व्यक्तिगत तौर पर मैं इस तरह इस कोड लिखा है जाएगा:
int variable;
int.TryParse(stringValue, out variable);
स्रोत
2015-09-10 08:47:30
1. नहीं (स्थानीय चर डिफ़ॉल्ट रूप से असाइन नहीं किए जाते हैं) –
2. हां, * आउट * का अर्थ है कि मान –