我可以在C#中給出默認參數嗎?我可以給C#函數中的參數或可選參數提供默認值嗎?
在C:
void fun(int i = 1)
{
printf("%d", i);
}
我們能給參數的默認值?在C#中可能嗎?如果是這樣,我們可以避免重載功能?
將可選參數添加到現有函數總是一個不好的做法。如果您正在處理一個項目,該項目不得不引用具有函數的類,並且我們使用可選值更改了參數,則可能會拋出未找到該方法的運行時異常。
這是因爲我們會考慮如果我們添加一個額外的可選值,如果函數在很多地方使用,則不需要更改代碼。
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);
你試過了嗎? – 2010-10-12 12:51:38
這是C++,而不是C. – leppie 2010-10-12 13:01:34
你在問什麼? .. – 2011-02-10 07:01:40