美文网首页
38.C# params 可变参数

38.C# params 可变参数

作者: 技术老小子 | 来源:发表于2024-03-09 17:47 被阅读0次

    摘要


    C#中的params关键字用于表示方法的参数是可变个数的,即可变的方法参数。在使用params关键字时,方法参数将会自动调用System.Array类中的Length属性,并将其作为实际参数数量传递给方法。

    使用params关键字可以方便地编写接受可变参数的方法,这对于编写可重用的方法非常有用。例如,如果我们想编写一个接受可变数量参数的方法,可以将它们存储在一个数组中,然后使用这个数组对参数进行处理。

    除了方便地编写可变参数方法外,params关键字还可以提高代码的可读性和可维护性。当方法的参数数量不确定时,使用params关键字可以避免在代码中显式地指定参数数量,使得代码更加简洁和易于理解。

    需要注意的是,在使用params关键字时,参数名称必须相同,而参数的数据类型可以不同。此外,params关键字可以在方法定义中的任何位置使用,只要参数数量在调用方法时为0时结束。

    params关键字是C#中一个非常有用的特性,它可以方便地编写接受可变参数的方法,并提高代码的可读性和可维护性。

    正文


    一个例子

    static void Main(string[] args)
    {
        int[] amount = { 100, 200, 400 };
        Show();//可以不传入参数
        Show(amount);
        Show(900,800,600);//这样也可以
    }
    
    static void Show(params int[] amount)
    {
        for (int i = 0; i < amount.Length; i++)
        {
            Console.WriteLine(amount[i]);
        }
        Console.WriteLine("Amount...");
    }
    
    

    注:

    • 若形参表中含一个参数数组(params形参数组),则该参数数组必须位于形参列表的最后,并且只能使用一次。即在方法声明中的 params 关键字之后不允许任何其他参数,并且在方法声明中只允许一个 params 关键字。
    • 参数数组必须是一维数组;
    • 不允许将params修饰符与ref和out修饰符组合起来使用;
    • 不允许将params修饰符与ref和out修饰符组合起来使用;
    • 若实参是数组则按引用传递,若实参是变量或表达式则按值传递。
    • 若实参是数组则按引用传递,若实参是变量或表达式则按值传递。

    相关文章

      网友评论

          本文标题:38.C# params 可变参数

          本文链接:https://www.haomeiwen.com/subject/weluzdtx.html