params 是C#的关键字, 可变长参数,是在声明方法时参数类型或者个数不确定时使用
关于params 参数数组,需掌握以下几点:
一.参数数组必须是一维数组
二.不允许将params修饰符与ref和out修饰符组合起来使用
三.与参数数组对应的实参可以是同一类型的数组名,也可以是任意多个与该数组的元素属于同一类型的变量
四.若实参是数组则按引用传递,若实参是变量或表达式则按值传递
五.形式为:方法修饰符 返回类型 方法名(params 类型[ ] 变量名)
六.params参数必须是参数表的最后一个参数
namespace ConsoleApp1 { class Program { static void Main() { UseParams(1, 2, 3); //既可以用任意多个int int[] myarray = new int[3] { 10, 11, 12 }; UseParams(myarray); //也可以是int一维数组 UseParams2(1, 'a', new object() ); } public static void UseParams(params int[] list) { for (int i = 0; i < list.Length; i++) { Console.WriteLine(list[i]); } Console.WriteLine(); } public static void UseParams2(params object[] list) { for (int i = 0; i < list.Length; i++) { Console.WriteLine(list[i]); } Console.WriteLine(); } } }
当然如果要实现多种类型,可以使用object
static void main() { UsrParam("123",1); } public void UsrParam(params Object[] objlist) { Console.WriteLine(objlist[0]); Console.WriteLine(objlist[1]); }
如果前面是特定类型,后面是params也可以:
但是注意,不能把指定类型参数放在params参数后面,因为无法解析,也没有意义
static void main() { UsrParam(12.33,"123",1); } public void UsrParam(double x , params Object[] objlist) { Console.WriteLine(x); Console.WriteLine(objlist[0]); Console.WriteLine(objlist[1]); }
————————————————
版权声明:本文为CSDN博主「Bird鸟人」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/wcc27857285/article/details/80991824
本站文章除注明转载/出处外,均为原创,若要转载请务必注明出处。转载后请将转载链接通过邮件告知我站,谢谢合作。本站邮箱:admin@only4.work
尊重他人劳动成果,共创和谐网络环境。点击版权声明查看本站相关条款。