不能调用具有不同数量(3、4或5)参数的函数

本文关键字:函数 参数 调用 不能 | 更新日期: 2023-09-27 18:17:13

此逻辑程序的目标是,如果数字数组中的第一个数字或最后一个数字为6,则返回true,否则返回false。我的逻辑都很好,但我不明白为什么它不能编译。
我得到的错误

错误1没有重载方法'FirstLast6'有3个参数
方法'FirstLast6'有4个参数
没有重载没有重载方法'FirstLast6'有5个参数

static void Main(string[] args)
{
    FirstLast6(1, 2, 6);        // -> true
    FirstLast6(6, 1, 2, 3);     // -> true
    FirstLast6(13, 6, 1, 2, 3); // -> false
}
public static bool FirstLast6(int[] numbers)
{
    if (numbers[0] == 6 || numbers[numbers.Length - 1] == 6)
    {
        return true;
    }
    else
    {
        return false;
    }
}

不能调用具有不同数量(3、4或5)参数的函数

考虑使用params关键字:

public static bool FirstLast6(params int[] numbers)

使用params来接受任意数量的与数组类型相同的参数。

public static bool FirstLast6(params int[] numbers)
{

这样,你将不需要手动创建一个数组(例如:FirstLast6(new int[] { 1, 2, 6 });),如果你试图传递x数量的数字到你的方法,

您没有正确地将参数传递给该方法。用数组arg调用它,像这样:

FirstLast6(new int[] { 1, 2, 6 });

同样的事情也适用于其他两个调用。