C#中使用params关键字跟使用params关键字的区别?给点实例,跪求!

2024-12-27 23:05:56
推荐回答(3个)
回答1:

作为形参没什么区别,调用的时候会略有区别:
//调用不带params的函数:
A(0,new SqlParameter[] {new SqlParameter("para1",1),new SqlParameter("para2",2)}); //需要直接作为数组传送
//带params的函数:
B(0,new SqlParameter("para1",1),new SqlParameter("para2",2)); //依次传送数组中各个项目

一般数组参数加上params关键字会方便一些。

回答2:

使用上没太多区别,只是后者会更自由一些,比如有一个数组Sqlparameter[]叫ab,另外有两个单独的Sqlparameter分别为a1和a2,前者不带params的只能这样调用。
A(a,ab)
而后者可以是
B(a)
B(a,a1,a2)
B(a,ab)

回答3:

带params 表示从params 开始的参数个数不定,但是类型都由params后面的类型限定(这里的[]是配合params 一起使用的,不表示参数是数组)。

而不是params,虽然看起来差不多,但这里是严格要求传入的参数是数组,且参数的数量只有一个。