2012-02-23 26 views

回答

4

如果将数组作为参数传递,它将作为项目传递。所以只需使用Collection.ToArray。实际上,当您使用params时,有一些很好的知识。如果你传递null意图将它作为第一个参数传递并且只有param参数将被用作空数组。因此,与这样的代码:

SomeMethod(null); 

public void SomeMethod(params object[] items) 
{ 
... 
} 

项目将是NULL,而不是array与长度为1和null作为第一ELEM。

1

该方法签名是无效的,所以它不会编译。您还需要指定项目的类型,例如:

foo(params string[] items) { } 

,那么你可以调用它足够简单:

foo("one", "two", "three"); 
foo(new string { "one", "two", "three"}); 
foo(myCollection.ToArray()); 

或者,

foo(myArrayOfStrings); 

myArrayOfStrings是一个数组的字符串。

你也应该确保检查到迭代项目之前空的说法,因为,

foo(null); 

是有效的。

相关问题