params关键字允许方法接受可变数量的相同类型参数,简化多参数传递过程。定义时需将params参数声明为数组类型并置于参数列表末尾,调用时可传入零个或多个该类型值,编译器自动封装为数组;也可直接传入已存在数组,提升灵活性。每个方法最多只能有一个params参数,且必须位于最后,实参类型须匹配数组元素类型,适用于日志记录、字符串格式化等场景。

params 关键字用于允许方法接受可变数量的参数,简化了向方法传递多个相同类型参数的过程。
params 的基本用法
使用 params 可以在定义方法时指定一个参数数组,调用时可以传入任意数量的该类型参数(包括零个)。
被修饰的参数必须是数组类型,且必须位于参数列表的最后。
示例:
void PrintNumbers(params int[] numbers)
{
foreach (int num in numbers)
{
Console.Write(num + " ");
}
}
// 调用方式
PrintNumbers(); // 不传参数
PrintNumbers(1); // 传一个
PrintNumbers(1, 2, 3, 4); // 传多个
传递数组或集合
除了直接传入多个值,也可以传入一个数组作为参数。
这使得接口更灵活,适用于已存在数据集合的场景。
示例:
int[] data = { 10, 20, 30 };
PrintNumbers(data); // 传入数组
注意事项和限制
使用 params 时需注意以下几点:
- 每个方法最多只能有一个 params 参数
- params 参数必须位于参数列表末尾
- 传入的实参类型必须与数组元素类型匹配
- 调用时若提供了多个参数,编译器会自动封装成数组










