在Unity3D下运行的C#脚本中,我使用变量参数定义了一个简单的函数。
void foo(string bar, params string[] baz) {
Debug.Log(baz.Length);
}
然后我在我的代码中使用该函数,
foo("abc", "def", "ghi");
但是,baz
有0个元素,而不是返回2个(因为应该有两个额外的参数)。
我错过了什么?此外,这是在大型应用程序中使用,所以其他代码可能会影响这个?
答案 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);
}
}