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);
    }
}
相关推荐
乱蜂朝王38 分钟前
使用 C# 和 ONNX Runtime 部署 PaDiM 异常检测模型
开发语言·c#
波诺波42 分钟前
p1项目system_model.py代码
开发语言·python
危笑ioi42 分钟前
helm部署skywalking链路追踪 java
java·开发语言·skywalking
静心观复1 小时前
Python 虚拟环境与 pipx 详解
开发语言·python
卷心菜狗1 小时前
Re.从零开始使用Python构建本地大模型网页智慧聊天机器人
开发语言·python·机器人
书到用时方恨少!1 小时前
Python NumPy 使用指南:科学计算的基石
开发语言·python·numpy
2501_933329551 小时前
技术深度拆解:Infoseek舆情系统的全链路架构与核心实现
开发语言·人工智能·分布式·架构
bilI LESS2 小时前
Spring Boot接收参数的19种方式
java·spring boot·后端
Chan162 小时前
MCP 开发实战:Git 信息查询 MCP 服务开发
java·开发语言·spring boot·git·spring·java-ee·intellij-idea
web前端进阶者2 小时前
Rust初学知识点快速记忆
开发语言·后端·rust