params 使用不当会带来没有用的内存开销。比如:
public void f(params object[] args){}
每次这种调用都会创建数组产生gc,即使没有传入任何参数
f();
解决办法:
1、无参数时,显式传入null
f(null);
2、当f()拥有更多参数时,通过重载,参考String.Format()
public void f(int a, params object[] args){}
添加只有第一个参数的重载
public void f(int a){}