C#——数组型参数(数组作为参数传递的两种形式)

 

数组也是引用型数据,把数组作为参数传递时,也是引用传参。

 

数组作为参数传递的两种形式:

(1)在形参数组前不添加params修饰符,所对应的实参必须是一个数组名。

(2)在形参数组前添加params修饰符,所对应的实参可以是数组名,也可以是数组元素值的列表(即:数据列表),此时,系统将自动把各种元素值组织到形参数组中。

 

注意:无论哪一种形式,形参数组都不能定义数组的长度。

 

使用params修饰符时,注意:

(1)params关键字可以修饰任何类型的参数

(2)params关键字只能修饰一维数组。

(3)不允许对params数组使用ref或out关键字

(4)每个方法只能有一个params数组

 

下面通过一个简单的例子来理解以下这两种形式

界面:

一个Label标签

编写代码:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace a
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            int[]x=new int[]{1,2,3,4,5,6};
            label1.Text ="通过将实参数组传递给形参数组获取的最大值为:"+Convert .ToString( max(x));

            label1.Text += "\n\n\n通过将数据列表传递给形参数组获取的最大值为:" + Convert.ToString(max2(1, 2, 3, 4, 5, 6));
        }
        int max(int []a)
        {
            int k=0;
            for (int i = 0; i < a.Length; i++) 
            {
                if (a[i] > a[k])
                {
                    k = i;
                }
            }
            return a[k];
        }
        int max2(params int[] a)
        {
            int k = 0;
            for (int i = 0; i < a.Length; i++)
            {
                if (a[i] > a[k])
                {
                    k = i;
                }
            }
            return a[k];
        }

    }
}

运行结果:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值