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");
学习小结:以上是我学习这个知识点时的笔记和心得。技术学习没有捷径,多写多练多踩坑,自然就掌握了。如果这篇笔记对你有帮助,欢迎继续看看其他文章。