首页 > 代码库 > 经验总结41--方法的可选参数

经验总结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,然后自己处理代码。

经验总结41--方法的可选参数