तो मैं सी # के लिए नया हूं और मुझे out
समझने में कठिनाई हो रही है। के रूप में सिर्फ एक समारोहसी # आउट पैरामीटर बनाम
using System;
class ReturnTest
{
static double CalculateArea()
{
double r=5;
double area = r * r * Math.PI;
return area;
}
static void Main()
{
double output = CalculateArea();
Console.WriteLine("The area is {0:0.00}", output);
}
}
से कुछ लौटने के लिए विरोध इस
using System;
class ReturnTest
{
static void CalculateArea(out double r)
{
r=5;
r= r * r * Math.PI;
}
static void Main()
{
double radius;
CalculateArea(out radius);
Console.WriteLine("The area is {0:0.00}",radius);
Console.ReadLine();
}
}
की तुलना पहले से एक है मैं कैसे आम तौर पर यह करना होगा। क्या कोई कारण है कि मैं सिर्फ वापसी विवरण के बजाय out
का उपयोग करना चाहूंगा? मैं समझता हूं कि ref
2 तरीके संचार के लिए अनुमति देता है, और मुझे आमतौर पर ref
का उपयोग नहीं करना चाहिए जब तक कि यह कार्य उस चर के साथ कुछ नहीं कर रहा है जिसे मैं भेज रहा हूं।
हालांकि ऊपर दिखाए गए विवरणों के बाहर और वापसी विवरणों के बीच कोई अंतर है? सिंटेक्स-वार एक या दूसरे का पक्ष लेने का कोई कारण है?
अध्ययन 'डिक्शनरी। ट्रीगेट वैल्यू' और 'int.TryParse'' और देखें कि क्या उदाहरण 'आउट' की उपयोगिता को समझाते हैं। –
'आउट' का उपयोग ज्यादातर तब किया जाता है जब आपको किसी विधि से एकाधिक, असंबंधित मान वापस करने की आवश्यकता होती है। साथ ही, COM या p/invoke के माध्यम से मूल कोड के साथ इंटरऑप करते समय अक्सर पॉइंटर्स को अनुकरण करने के लिए उपयोग किया जाता है। – dlev
सी/सी ++ में याद रखें हमारे पास पॉइंटर्स हैं। जब आप किसी फ़ंक्शन में पॉइंटर पास करते हैं तो आप इसे फ़ंक्शन के भीतर संशोधित कर सकते हैं और कॉलिंग फ़ंक्शन में मूल्य भी बदल जाएगा। बाहर बहुत कुछ वही काम करता है। – carny666