C#的参数数组

概念:

参数数组(也称为可变参数)可以来向方法传递可变数量的参数。

参数数组允许您以一种更灵活的方式定义和调用方法,而无需提前指定参数的数量。以下是使用参数数组的步骤:

1. 定义参数数组:

在方法的参数列表中,使用关键字 params 来定义参数数组。参数数组的类型可以是任意类型,例如 int[]、string[] 等。

cs 复制代码
public void Method(params int[] nums)
{
    // 方法体
}

2. 调用方法:

在调用方法时,您可以传递任意数量的参数,甚至可以不传递参数。传递的参数将被作为数组传递给方法。

cs 复制代码
Method(1, 2, 3, 4); // 直接传递多个参数
Method(); // 不传递参数

3. 在方法内部使用参数数组:

在方法体中,您可以像处理常规数组一样处理参数数组。可以使用 foreach 循环、索引访问、数组长度等来操作参数数组。

cs 复制代码
public void Method(params int[] nums)
{
    foreach (int num in nums)
    {
        Console.WriteLine(num);
    }
}

参数数组使方法调用更加方便灵活,特别适用于需要处理未知数量参数的情况。它简化了方法的重载,避免了方法重复定义和调用多个重载方法的麻烦。

4、简单练习demo

cs 复制代码
class Program
{
    static int Add1(int a, int b)
    {
        return a + b;
    }
    static int Add2(int[] array)
    {
        int sum = 0;
        foreach (int temp in array)
        {
            sum += temp;
        }
        return sum;
    }
    // 参数数组
    static int Add3(params int[] array)// 可以传递任意个数的参数(params) 
    {
        int sum = 0;
        foreach (int temp in array)
        {
            sum += temp;
        }
        return sum;
    }
    static int Add4(string name, params int[] array)// 必须位于最后一位 参数数组
    {
        int sum = 0;
        foreach (int temp in array)
        {
            sum += temp;
        }
        return sum;
    }
    static void Main(string[] args)
    {
        int sum1 = Add2(new int[] { 1, 2, 3, 4 });
        Console.WriteLine(sum1);

        int[] array2 = { 1, 2, 3, 4, 5 };
        int sum2 = Add2(array2);
        Console.WriteLine(sum2);

        int sum3 = Add3(1, 2, 3, 4, 5);
        Console.WriteLine(sum3);
    }
}
相关推荐
也曾看到过繁星3 分钟前
初识c++
开发语言·c++
2401_8747325314 分钟前
泛型编程与STL设计思想
开发语言·c++·算法
飞Link16 分钟前
具身智能中 Wrapper 架构的深度解构与 Python 实战
开发语言·python·架构
掘金码甲哥29 分钟前
MetalLB才是给Ingress这个老登做负重前行的那个男人
后端
叫我一声阿雷吧34 分钟前
JS 入门通关手册(21):原型链:JS 继承的底层原理
开发语言·javascript·前端面试·原型链·js继承·js进阶·js面向对象
野犬寒鸦38 分钟前
从零起步学习计算机操作系统:内存管理篇
服务器·后端·学习·缓存·面试
计算机学姐40 分钟前
基于SpringBoot的中药材店铺管理系统
java·vue.js·spring boot·后端·spring·tomcat·推荐算法
青柠代码录41 分钟前
【MySQL】事务:如何使用事务
后端
猫墨*41 分钟前
springboot3、knife4j-openapi3配置动态接口版本管理
java·开发语言
weixin_5316518141 分钟前
Python 渐进式学习指南
开发语言·windows·python