[C#]選擇性參數

[C#]選擇性參數

選擇性參數所帶來的好處就是可以省略某些參數(達到隱含多載),

之前在寫VB.NET時,由於支援選擇性參數,

所以在多載方面也多了另一種替代方案(隱含多載),

早期C#我們必須為每個多載(OverLoaded)版本指定不同的參數清單,

但現在C#4.0也引進選擇性參數,換句話說C#終於也可和VB享受相同待遇了,

現在我們就來看看使用選擇性參數所帶來的便利。

 

不支援選擇性參數:

image

基本上有多少個參數就需要給多少參數值,參數一多時相信會很煩人的....XD。

 

支援選擇性參數:(選擇性參數必須出現在所有必要參數之後,且選擇性參數必須要有預設值)

image

可以看到SendMail有不同版本可供呼叫使用,而且也省略了某些參數,看來選擇性參數在實務使用上算滿便利的。

 

當然C#4.0還引進了具名參數,而具名參數可讓您不用再記住某個方法的參數清單順序,

所以選擇性參數搭配具名參數一起使用,相信在開發上應該是可省下不少時間的。

 

參考

具名和選擇性引數 (C# 程式設計手冊)

多載化程序的考慮因素