C# params的用法详解

     为了将方法声明为可以接受可变数量参数的方法,我们可以使用params关键字来声明数组,要求:

(1)在方法声明中的 params 关键字之后不允许任何其他参数,并且在方法声明中只允许一个 params 关键字。

(2)该参数必须标识一个一维数组,但类型不限,对该参数传递null或者0个数目的数组的引用都是合法的

01

实例1

using System;


namespace ConsoleApp4
{
    class Program
    {
        static void Main(string[] args)
        {
            ShowTime(new string[]{ "1","2","3","4","5","6","7","8","9"});
            Console.ReadKey();
        }
        private static void ShowTime(params string[] strs)
        {
            foreach (var str in strs)
            {
                Console.WriteLine(str.ToString());
            }
        }
    }
}

运行结果:

300737f0f8c0cd703467789e6c1b7f40.png

02


实例2

using System;


namespace ConsoleApp4
{
    class Program
    {
        static void Main(string[] args)
        {
            //ShowTime(new string[]{ "1","2","3","4","5","6","7","8","9"});
            ShowTypes(new object(), new Random(), new string[] { }, 123,'a');
            Console.ReadKey();
        }
        private static void ShowTime(params string[] strs)
        {
            foreach (var str in strs)
            {
                Console.WriteLine(str.ToString());
            }
        }
        public static void ShowTypes(params object[] objects)
        {
            foreach (var item in objects)
            {
                Console.WriteLine(item.GetType());
            }
        }
    }
}

运行结果:

a834e603b280e6f58a5c4b1f033c83e7.png

注意:对于可接受可变数量参数的方法的调用会对性能造成一定的损失,因为数组是在堆上分配的,数组的元素还得初始化,数组的内存还得被垃圾回收器回收

欢迎关注公众号: dotnet编程大全

技术群: 需要进技术群的添加小编微信mm1552923,备注:加群;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值