以前沒有預設參數這個說法時,為了讓别人調用我們的代碼友善一些,會寫很多構造函數,例如一個查詢方法貼一些代碼如下:
public DataTable Search(string search)
{
return Search(string.Empty, search, null, null, string.Empty);
}
public DataTable Search(string search, string[] roleIds)
return Search(string.Empty, search, roleIds, null, string.Empty);
public DataTable Search(string search, string[] roleIds, bool? enabled)
public DataTable Search(string search, string[] roleIds, string auditStates)
return Search(string.Empty, search, roleIds, null, auditStates);
public DataTable Search(string search, string[] roleIds, bool? enabled, string auditStates)
return Search(string.Empty, search, roleIds, enabled, auditStates);
那采用了預設參數後,這部分代碼會被簡化成什麼樣子了呢?
public DataTable Search(string search = null, string[] roleIds = null, bool? enabled = true, string auditStates = null)
哇靠,居然一行代碼就可以了,那麼多構造函數都不需要了, 代碼簡潔了很多了,清爽了很多,心裡也舒暢了.
新技術也往往會明顯提高生産效率.
本文轉自jirigala_bao 51CTO部落格,原文連結:http://blog.51cto.com/jirigala/812755