डिफ़ॉल्ट रूप से, किसी विधि के सभी पैरामीटर आवश्यक हैं। वैकल्पिक पैरामीटर वाली एक विधि कॉलिंग समय पर तर्क पारित करने के लिए बाध्य नहीं करती है। इसका मतलब है कि हम तर्कों को पारित किए बिना विधि कहते हैं।
वैकल्पिक पैरामीटर में फ़ंक्शन परिभाषा में एक डिफ़ॉल्ट मान होता है। यदि हम कॉल करते समय वैकल्पिक तर्क मान पास नहीं करते हैं, तो डिफ़ॉल्ट मान का उपयोग किया जाता है।
पैरामीटर को वैकल्पिक बनाने के विभिन्न तरीके हैं।
डिफ़ॉल्ट मान का उपयोग करना
उदाहरण
using System; namespace DemoApplication{ class Demo{ static void Main(string[] args){ OptionalMethodWithDefaultValue(5); //Value2 is not passed as it is optional OptionalMethodWithDefaultValue(5, 10); //Value2 is passed Console.ReadLine(); } public static void OptionalMethodWithDefaultValue(int value1, int value2 = 5){ Console.WriteLine($"Sum is {value1 + value2}"); } } }
आउटपुट
उपरोक्त कोड का आउटपुट है
Sum is 10 Sum is 15
उपरोक्त उदाहरण में, विधि वैकल्पिक विधिविथडिफॉल्टवैल्यू (int value1, int value2 =5) value2 का डिफ़ॉल्ट मान 5 है। इसलिए यदि कॉल करते समय value2 के लिए कोई तर्क पारित नहीं किया जाता है तो यह डिफ़ॉल्ट मान 5 लेगा और यदि value2 के लिए कोई तर्क पारित किया जाता है तो डिफ़ॉल्ट मान ओवरराइड है।
वैकल्पिक विशेषता का उपयोग करना
उदाहरण
using System; using System.Runtime.InteropServices; namespace DemoApplication{ class Demo{ static void Main(string[] args){ OptionalMethodWithDefaultValue(5); OptionalMethodWithDefaultValue(5, 10); Console.ReadLine(); } public static void OptionalMethodWithDefaultValue(int value1, [Optional]int value2){ Console.WriteLine($"Sum is {value1 + value2}"); } } }
आउटपुट
उपरोक्त कोड का आउटपुट है
Sum is 5 Sum is 15
यहां [वैकल्पिक] विशेषता के लिए वैकल्पिक पैरामीटर निर्दिष्ट करने के लिए उपयोग किया जाता है।
साथ ही, यह ध्यान दिया जाना चाहिए कि वैकल्पिक पैरामीटर हमेशा पैरामीटर के अंत में निर्दिष्ट किए जाने चाहिए। उदाहरण के लिए -OptionalMethodWithDefaultValue(int value1 =5, int value2) अपवाद फेंक देगा।
उदाहरण
using System; namespace DemoApplication{ class Demo{ static void Main(string[] args){ OptionalMethodWithDefaultValue(5); OptionalMethodWithDefaultValue(5, 10); Console.ReadLine(); } public static void OptionalMethodWithDefaultValue(int value1 = 5, int value2){ Console.WriteLine($"Sum is {value1 + value2}"); } } }
त्रुटि - वैकल्पिक पैरामीटर सभी आवश्यक पैरामीटर के बाद दिखाई देने चाहिए।