在C#中,使用params修饰符声明的参数是参数数组,不能把修饰符params、ref或out组合使用。在调用方法时,可以通过如下两种方式为参数数组指定对应的参数。
1)第一种:赋给参数数组的实参是一个表达式,其类型可以隐式转换为参数数组的类型。这样,参数数组将和值参数完全一致。
2)第二种:可以为参数数组设置指定个数的实参,可以是0个。其中的每个实参是一个表达式,其类型可以隐式转换为参数数组元素的类型。在上述情况下,调用时会创建一个参数数组类型的实例,其包含的元素个数等于给定的参数的数量,再用给定的参数数值初始化此数组实例的每个元素,然后将创建的新数组实例用做实参。
在调用方法时,可以使用可变数量的实参,参数数组与同类型的值参数完全等效。如果在方法内改变形参的值,对应的实参值不会造成影响。
如果形参表包含一个参数数组,则该参数数组必须位于该列表的最后,而且必须是一维数组类型。例如string[]类型和string[][]类型可以作为参数数组,而string[,]类型则不能。
实例18:输出指定数组内的存储数据
下面通过一个简单实例来说明使用参数数组的具体流程,本实例保存在“光盘:\daima\7”文件夹内,项目名为canshuzu。实例的功能是通过方法输出指定数组内的存储数据。实例文件的主要代码如下:
上述实例代码的设计流程如下。
1)定义方法mm(),通过Write()输出指定文本。
2)通过for语句逐一读取数组内的存储数据。(www.xing528.com)
3)定义数组arr,并为存储的数据赋值。
4)调用方法mm(),使数组作为方法的参数。
上述实例代码执行后,将调用方法并输出对应的处理结果,具体如图7-8所示。
图7-8 实例执行结果
多学一招
在上述实例中,通过定义的方法输出了数组内的存储数据。在具体使用时读者可以把握如下两点。
1)如果方法的参数列表中除了参数数组外还需要包含其他参数,参数数组必须为列表中的最后一项。
2)如果在方法的参数中采用数组,但不用params修饰,则其代表参数必须是一个数组,而不是可选数量的同类参数。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。