2024-05-20 · C# 基础 · 学习笔记

params 可变参数

params 关键字让方法接受任意数量的同类型参数,本质是个数组。调用时可以传多个参数,也可以传一个数组。

自己最常用的场景是写日志和格式化方法。params 必须是参数列表最后一个,而且类型必须是一维数组。

注意事项:1) params 后不能再有其他参数;2) 调用时不传参数会传一个空数组;3) 不要在循环里频繁调用 params 方法,有数组分配开销。

代码示例

// params 方法
public static int Sum(params int[] numbers)
{
    int total = 0;
    foreach (int n in numbers)
        total += n;
    return total;
}

// 调用:传任意数量
Console.WriteLine(Sum(1, 2, 3));        // 6
Console.WriteLine(Sum(1, 2, 3, 4, 5));  // 15
Console.WriteLine(Sum());               // 0

// 也可以直接传数组
int[] arr = { 10, 20, 30 };
Console.WriteLine(Sum(arr)); // 60

// 实际用途:日志方法
public static void Log(string template, params object[] args)
{
    Console.WriteLine(string.Format(template, args));
}
Log("用户 {0} 登录,IP {1}", "Tom", "127.0.0.1");
学习小结:以上是我学习这个知识点时的笔记和心得。技术学习没有捷径,多写多练多踩坑,自然就掌握了。如果这篇笔记对你有帮助,欢迎继续看看其他文章。