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);
    }
}
相关推荐
背影疾风13 分钟前
C++之路:类基础、构造析构、拷贝构造函数
linux·开发语言·c++
Ting-yu17 分钟前
Java中Stream流的使用
java·开发语言·windows
一线码农33 分钟前
MinHook 如何对 .NET 母体 CoreCLR 进行拦截
c#·.net·代码注入
【ql君】qlexcel1 小时前
Notepad++ 复制宏、编辑宏的方法
开发语言·javascript·notepad++··宏编辑·宏复制
Zevalin爱灰灰1 小时前
MATLAB GUI界面设计 第六章——常用库中的其它组件
开发语言·ui·matlab
哔哩哔哩技术1 小时前
资源合池化后的异构差异问题解析--CPU分层现象和解决思路
后端
爱上语文1 小时前
Redis基础(4):Set类型和SortedSet类型
java·数据库·redis·后端
冰糖猕猴桃1 小时前
【Python】进阶 - 数据结构与算法
开发语言·数据结构·python·算法·时间复杂度、空间复杂度·树、二叉树·堆、图
wt_cs1 小时前
银行回单ocr api集成解析-图像文字识别-文字识别技术
开发语言·python
_WndProc2 小时前
【Python】Flask网页
开发语言·python·flask