क्या मैं सी # में डिफ़ॉल्ट पैरामीटर दे सकता हूं?क्या मैं सी # कार्यों में पैरामीटर या वैकल्पिक पैरामीटर के लिए डिफ़ॉल्ट मान दे सकता हूं?
सी में:
void fun(int i = 1)
{
printf("%d", i);
}
हम मानकों को डिफ़ॉल्ट मान दे सकते हैं? क्या यह सी # में संभव है? यदि हां, तो क्या हम ओवरलोडिंग कार्यों से बच सकते हैं?
मौजूदा फ़ंक्शन में वैकल्पिक पैरामीटर जोड़ने के लिए यह हमेशा एक बुरा अभ्यास है। यदि आप किसी ऐसे प्रोजेक्ट पर काम कर रहे हैं जिसमें कक्षा को फ़ंक्शन रखने का संदर्भ है और हमने वैकल्पिक मान के साथ पैरामीटर बदल दिया है, तो यह एक रन टाइम अपवाद फेंक सकता है कि विधि नहीं मिली है।
ऐसा इसलिए है क्योंकि हम मानेंगे कि यदि हम एक अतिरिक्त वैकल्पिक मूल्य जोड़ते हैं, तो यदि कई स्थानों पर फ़ंक्शन का उपयोग किया जाता है तो कोई कोड परिवर्तन आवश्यक नहीं होता है।
function Add(int a, int b);
यह इस तरह का उपयोग कर बुलाया जाएगा:
Add(10, 10);
लेकिन हम इस तरह एक वैकल्पिक पैरामीटर,
function Add(int a, int b, int c = 0);
तो संकलक उम्मीद
Add(10, 10, 0);
जोड़ने वास्तव में हम बुला रहे हैं इस Add(10, 10)
की तरह और यह फ़ंक्शन उस कक्षा में उपलब्ध नहीं होगा और रन टाइम अपवाद का कारण बनता है।
यह एक समारोह में एक नया पैरामीटर जोड़ने के दौरान होता है जिसे कई स्थानों द्वारा बुलाया जाता है और मुझे यकीन नहीं है कि यह हर बार होगा। लेकिन मैं आपको समारोह को अधिभारित करने का सुझाव देता हूं।
हमेशा हमें उस विधि को अधिभारित करने की आवश्यकता होती है जिसमें वैकल्पिक पैरामीटर होता है। इसके अलावा यदि आप एक से अधिक वैकल्पिक पैरामीटर वाले फ़ंक्शंस के साथ काम कर रहे हैं, तो पैरामीटर के नाम का उपयोग करके मान को पास करना अच्छा होता है।
function Add(int a, int b, int c = 0);
इस फ़ंक्शन को निम्न तरीके से कॉल करना हमेशा अच्छा होता है।
Add(10, 20, c:30);
क्या आपने इसे आजमाया है? –
वह सी ++ है, सी नहीं। – leppie
आप क्या पूछ रहे हैं? .. –