C#中的params关键字实现方法形参个数可变

本文介绍了如何使用params关键字在C#中接收一组任意数量的参数,并通过实例展示了其在实现求和方法时的灵活性。文章还详细解释了params关键字的用法及其在不同调用形式下的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 
class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine(Sum(1));
            Console.WriteLine(Sum(1, 2, 3));
            Console.WriteLine(Sum(1, 2, 3, 4, 5));
            Console.ReadKey();
        }
        private static int Sum(params int[] values)
        {
            int sum = 0;
            foreach (int value in values)
                sum += value;
            return sum;
        }
    }
实现了一个Sum方法,用于接收一组整数,并返回它们的和。

参数values被加上params关键字后,在调用时可以在实参列表中列举出这组整数中的每个元素,非常方便。关于params关键字的用法,需要注意以下几点:

1. params只能用于一维数组,不能用于多维数组和诸如ArrayList、List<T>等任何类似于数组的集合类型。

2. 被加上params关键字的形参,必须是形参列表中最后一个形参,并且方法声明中只允许一个 params 关键字。

3. 用params关键字的方法,有三种调用形式:第一种,列举出数组各元素:Sum(1,2,3),这也是最常用的形式;第二种,像没有加params关键字的数组形参那样,用数组名做实参:Sum(new int[]{1,2,3})或int n=new int[]{1,2,3};Sum(n);;第三种,加params关键字的参数在调用时可以省略:Sum();
//
返回0;这种方式有时可以少定义一个方法重载,但当明确定义了重载int Sum()时,编译器会优先调用int Sum(),而不是Sum(params int[] values)。而且省略params型参数,方法内部仍会new一个元素个数为0的数组,效率略查。第四种,不省略params型参数,用null代替,效率比第三种略高,因为其内部不会new这个数组。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值