2012-08-10 28 views
5

पर विचार के लिए निम्न विधि उदाहरण:सी # - डिफ़ॉल्ट मानों के साथ पैरामीटर कैसे छोड़ें?

public void MyMethod (string par1, bool par2 = "true", string par3="") 
{ 
} 

अब मान लीजिए कि मैं MyMethod फोन और Par3 के मान "IamString" सेट करें।

मैं पैरा 2 के मूल्य को सही या गलत पर सेट किए बिना कैसे कर सकता हूं?

मैं मूल रूप से par2 मान को इसके डिफ़ॉल्ट पर छोड़ना चाहता हूं।

मैं इस वजह से फ्लैश के ActionScript में यह संभव है कि कीवर्ड डिफ़ॉल्ट का उपयोग करके तो मैं MyMethod कह सकते हैं करने के लिए पूछ रहा हूँ ("somestring" डिफ़ॉल्ट "IamString") और par2 सच रूप में दर्शाया जाएगा, जो इसका डिफ़ॉल्ट मान है। मुझे आश्चर्य है कि सी # में भी यह संभव है।

+1

जांच http://stackoverflow.com/questions/4630444/how- टू-स्किप-वैकल्पिक-पैरामीटर-इन-सी-तेज – Sandeep

+1

नामांकित तर्क: http://msdn.microsoft.com/en-us/library/dd264739.aspx – asawyer

+0

संदर्भ के लिए, संदीप और असवार, धन्यवाद। – IneedHelp

उत्तर

11
public void MyMethod (string par1, bool par2 = "true", string par3=""){} 
Myclass.MyMethod(par1:"par1", par3:"par3"); 

वैसे, इस काम नहीं करेगा: bool par2 = "true"

string par2 = "true"

या

bool par2 = true

मूलभूत मूल्यों के बारे में बात कर रहे हैं, आप भी इस इस्तेमाल कर सकते हैं एक विशेष प्रकार के लिए डिफ़ॉल्ट मान प्राप्त करने के लिए:

default(T)

+0

धन्यवाद! और हाँ, आप सही बूल par2 = "सच" काम नहीं करेंगे। एक साधारण उदाहरण लेआउट करने की कोशिश करते समय मैंने एक गलती की है। – IneedHelp

+0

आपका स्वागत है :-) कृपया अपने वांछित उत्तर को जवाब के रूप में चिह्नित करना न भूलें :) – SeToY

+0

हां, यह सिर्फ मुझे नहीं देता क्योंकि आपने हाल ही में अपना जवाब संपादित किया है। मैं इसे 1 मिनट में स्वीकार कर पाऊंगा। – IneedHelp

9

आप पैरामीटर नाम करके यह निर्दिष्ट कर सकते हैं:

instance.MyMethod("Hello", par3:"bla"); 

एक नज़र here है।

और वहाँ एक और बग है:

bool par2 = true 

सही है ..

+0

आपके उत्तर के लिए भी धन्यवाद। – IneedHelp

+0

हां कोई समस्या नहीं :) इस तरह यह – tuxtimo

+0

काम करता है आपका उत्तर SeToY के लिए समान रूप से उपयोगी है, लेकिन मैं इसे स्वीकार करूंगा क्योंकि मैंने इसे पहले देखा था। फिर भी, धन्यवाद और अंगूठे ऊपर! – IneedHelp