經驗總結41--方法的可選參數

方法可使用可選參數。

public void GetData(string id,string name="",string type="")

這種方式可以用於擴展,比如新增一個查詢參數,寫在後面即可,不需要去修改以前的方法。

其實這是一種偷懶的方式,正規的使用應該寫很多的重載方法,因爲參數不一樣。

但是重載的話,又會導致代碼重複無意思,及時使用數組傳參或者傳空參數之類的方法出現,並不方便。

還有一種方法是使用可用類型,比如int? id。

但可空類型也是必填參數,只能放在可選參數之前,且使用的時候必須傳參,就得修改以前的方法。


那麼最後還是使用可選參數,但也有額外問題需要解決。

當使用分頁查詢的時候,需要對參數進行判斷,來拼接sql字符串或者篩選。

那麼就得自己定義規則,字符串可以判斷爲空。

if(name!="")

int類型可以判斷-1,可以自行定義,但儘量避免該值爲某個類型值。

if(id!=-1)

bool類型,也使用int的-1,因爲你沒法傳true或者false,否則判斷時只能查到一半數據。

if(type!=1)

true就傳1,false傳0,然後自己處理代碼。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章