Unity C中的变量参数数组为空

时间:2014-08-16 23:54:34

标签: c# mono

在Unity3D下运行的C#脚本中,我使用变量参数定义了一个简单的函数。

void foo(string bar, params string[] baz) {
    Debug.Log(baz.Length);
}

然后我在我的代码中使用该函数,

foo("abc", "def", "ghi");

但是,baz有0个元素,而不是返回2个(因为应该有两个额外的参数)。

我错过了什么?此外,这是在大型应用程序中使用,所以其他代码可能会影响这个?

1 个答案:

答案 0 :(得分:0)

我运行了你的代码。 baz的大小为2.您可能会在某处覆盖您的函数。您可以将该功能设为私有,并单独对其进行单元测试。

public class Test : MonoBehaviour 
{
    void Start()
    {
        foo("abc", "def", "ghi");
    }

    private void foo(string bar, params string[] baz) 
    {
        Debug.Log(baz.Length);
    }
}