可变数量的参数

主要目的:

①学会使用可变数量的参数

②掌握使用时的注意事项

③了解编译器对 params 做了哪些事

主要内容:

注意事项:

①需要使用 params 关键字,传入的是一个数组

②只能作为方法的最后一个参数

③只能传递一维数组

编译器做了哪些事:

①在方法的声明处,给具有 params 标识的参数添加 System.ParamArrayAttribute 特性。

②在方法的调用处,编译器首先查找到具有相同签名的方法,查找是否有没有用 ParamArrayAttribute 标识的参数的方法,如果有,就会生成调用他所需要的代码;如果没有,再去查找使用了 ParamArrayAttribute 修饰的参数的方法,如果找到了,就会生成一个数组,来存放这些参数,并再生成来调用选定的方法的代码。

测试代码如下:

public class Test
{
public static void Main()
{
M(
"first", new string[]{1,2,3,4,5});

M(
"two",1,2,3,4,5);
}

public static void M(string s, params int[] myarray)
{
foreach(int str in myarray)
{
System.Console.WriteLine(str.ToString());
}
}
}
原文地址:https://www.cnblogs.com/jiejie_peng/p/2018995.html