慎用c#中的params

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){}

 

posted on 2018-03-22 18:54  dongzee  阅读(956)  评论(0编辑  收藏  举报