C#-参数关键字params的作用

为了将方法声明为可以接受可变数量参数的方法,我们可以使用params关键字来声明数组,要求:

(1)在方法声明中的 params 关键字之后不允许任何其他参数,并且在方法声明中只允许一个 params 关键字。

(2)该参数必须标识一个一维数组,但类型不限,对该参数传递null或者0个数目的数组的引用都是合法的

示例1:

Console.WriteLine(IntAdd());  // 输出0
private static int IntAdd(params int[] values)
{
   var sum = 0;
    for (int i = 0; i < values.Length; i++)
    {
       sum += values[i];
    }
    return sum; 
}

示例2:

DisplayTypes(new object(), new Random(), "string", 10);  
//输出:
//System.Object
//System.Random
//System.String
//System.Int32


public static void DisplayTypes(params object[] objects)
{
   foreach (var item in objects)
   {
      Console.WriteLine(item.GetType());
   }
} 

注意:对于可接受可变数量参数的方法的调用会对性能造成一定的损失,因为数组是在堆上分配的,数组的元素还得初始化,数组的内存还得被垃圾回收器回收

posted @   ꧁执笔小白꧂  阅读(835)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
点击右上角即可分享
微信分享提示