C# params 关键字详解

params 关键字用于声明参数数组 ,允许方法接受可变数量的参数 。它是创建可变参数方法的便捷方式。

基本语法

复制代码
// params 参数必须是方法最后一个参数
public void Method(params int[] numbers)
{
    // numbers 是一个 int 数组
}

// 调用时可以传递任意数量的参数
Method(1, 2, 3, 4, 5);
Method(10, 20);
Method();  // 也可以不传递参数

使用示例

1. 基础用法

复制代码
public int Sum(params int[] numbers)
{
    int total = 0;
    foreach (int num in numbers)
    {
        total += num;
    }
    return total;
}

// 调用
int result1 = Sum(1, 2, 3);           // 6
int result2 = Sum(10, 20, 30, 40);    // 100
int result3 = Sum();                  // 0

2. 与其他参数结合

复制代码
// params 必须是最后一个参数
public string Format(string format, params object[] args)
{
    return string.Format(format, args);
}

// 调用
string result = Format("姓名:{0},年龄:{1},成绩:{2}", "张三", 20, 95.5);

3. 传递数组

复制代码
// 可以直接传递数组
public void Process(params string[] items)
{
    foreach (var item in items)
    {
        Console.WriteLine(item);
    }
}

// 调用方式1:传递多个参数
Process("A", "B", "C");

// 调用方式2:传递数组
string[] array = { "X", "Y", "Z" };
Process(array);  // 会自动识别为 params 参数

// 调用方式3:空参数
Process();  // 传递空数组
相关推荐
LDR0063 小时前
Type-C 快充全面升级!LDR6601 赋能个人护理便携电机,重塑剃须刀 / 理发器新体验
c语言·开发语言
雪碧聊技术3 小时前
Tree.js是什么?一文讲透
开发语言·javascript·ecmascript
码云数智-园园4 小时前
C++20 Modules 模块详解
java·开发语言·spring
swordbob4 小时前
NIO的channel中什么是 fd(File Descriptor,文件描述符)
java·开发语言·nio
源分享5 小时前
Java线程同步的多种实现方法(非常详细)
java·开发语言·jvm
Luminous.5 小时前
C语言--day30
c语言·开发语言
何以解忧,唯有..5 小时前
Go语言循环语句详解:for、range与循环控制
开发语言·算法·golang
謓泽5 小时前
C语言不是语法,是通往机器的地图。
c语言·开发语言
云水一下5 小时前
从零开始学 PHP 系列(一):PHP 的前世今生与开发环境搭建
开发语言·php
飞天狗1115 小时前
零基础JavaWeb入门——第五课第二小节:九大内置对象 · 第2个:response(响应对象)
java·开发语言