C# params的用法详解

Posted dotNET跨平台

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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());
            }
        }
    }
}


运行结果:

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());
            }
        }
    }
}


运行结果:

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

以上是关于C# params的用法详解的主要内容,如果未能解决你的问题,请参考以下文章

C# params 用法简介

C#中params参数的用法!!!!

详解@Param注解的用法

C# WPF This用法详解(经典)

C#中string用法实例详解

C# 中的Async 和 Await 的用法详解