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();  // 传递空数组
相关推荐
杰佛史彦明18 小时前
ElasticSearch中的分词器详解
大数据·elasticsearch·c#
Edward111111118 小时前
一AI名词
java·开发语言·数据库·学习
栈溢出了8 小时前
Redis repl_backlog 学习笔记
java·开发语言·redis·学习
urkay-9 小时前
Kotlin Flow分类
android·开发语言·kotlin
并不喜欢吃鱼9 小时前
从零开始 C++----- 十五.一文吃透 C++ 异常:try-catch、栈展开、自定义异常、异常安全 noexcept 底层全剖析
java·开发语言·jvm
czhc11400756639 小时前
710:CT分辨率;BGA;DBC;[ObservableProperty],[Required]
c#
gr95ZS6E69 小时前
基础入门java安全(一)--CC1基础分析
开发语言·python
北京阿法龙科技有限公司9 小时前
AR智能眼镜安防应用核心指标:识别距离筑牢防线
java·开发语言·ar
杜子不疼.9 小时前
【C++】继承—C++的秘密武器,get父类的智慧
开发语言·c++
我才是银古10 小时前
当 GIS 开发遇上 .NET:一个 GDAL 集成工具库的架构设计与实践
c#·gis·gdal