首页 理论教育 C#编程新手学数组参数

C#编程新手学数组参数

时间:2023-10-22 理论教育 版权反馈
【摘要】:实例的功能是通过方法对数组内的数据进行交换处理。多学一招用params修饰符声明的参数是参数数组。在一个方法的调用中,允许通过以下列两种方式之一来为参数数组指定对应的参数。在此情况下,参数数组的作用与值参数完全一样。

C#编程新手学数组参数

在C#项目中,数组可以作为值、引用或输出参数传递给方法。并且在使用过程中,可以根据具体要求灵活使用。当使用数组参数时,必须遵循如下三个原则。

1.作为值参数

当把数组作为值参数传入时,在传入数组前必须创建数组对象,并且传入前的数组元素值可以传入方法,具体如下。

1)如果方法内没有改变数组对象的值,而是仅仅改变了数组元素的值,则在方法内修改的数组元素值可以从方法内带出。

2)如果方法内改变了数组对象的值,则在方法内修改的数组元素值不会从方法内带出。

2.作为引用参数

当把数组作为引用参数传入时,在传入数组前必须创建数组对象。传入前的数组元素值可以传入方法,而在方法内修改的数组元素值也可以从方法内带出。

3.作为输出参数

当把数组作为输出参数传入时,在传入数组前可以创建数组对象,也可以不创建数组对象。如果在传入数组前创建了数组对象,则传入方法后会忽略该数组对象的值。所以只有在方法内创建数组对象时,才可以从方法内带出数组元素值。

实例19:交换处理数组内的数据

下面通过一个简单实例来说明使用数组参数的具体流程,本实例保存在“光盘:\daima\7”文件夹内,项目名为shuzucanshu。实例的功能是通过方法对数组内的数据进行交换处理。实例文件的主要代码如下所示:

978-7-111-36370-5-Part02-37.jpg

978-7-111-36370-5-Part02-38.jpg(www.xing528.com)

上述实例代码的设计流程如下。

1)定义方法mm(),实现变量数据a和b的交换处理,可以交换成功。

2)定义方法mm2(),实现变量数据a和b的交换处理,不可以交换成功。

3)定义方法mm3(),实现变量数据a和b的交换处理,可以交换成功。

4)分别调用各方法,将对变量a和b交换后的结果输出。

执行后将调用方法并输出对应的处理结果,效果如图7-9所示。

978-7-111-36370-5-Part02-39.jpg

多学一招

用params修饰符声明的参数是参数数组。不能将params修饰符与ref和out修饰符组合起来使用。

在一个方法的调用中,允许通过以下列两种方式之一来为参数数组指定对应的参数。

1)赋予参数数组的参数可以是一个表达式,它的类型可以隐式转换为该参数数组的类型。在此情况下,参数数组的作用与值参数完全一样。

2)此调用可以为参数数组指定零个或多个参数,其中每个参数都是一个表达式,它的类型可隐式转换为该参数数组的元素的类型。在此情况下,此调用创建一个长度对应于参数个数、类型与该参数数组的类型相同的一个数组实例,并用给定的参数值初始化该数组实例的元素,并将新创建的数组实例用做实参。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈