Q
은 []
4
A
답변
4
매개 변수를 배열로 전달하는 경우 항목으로 전달됩니다. 따라서 Collection.ToArray
을 사용하십시오. 실제로 params
을 사용할 때 알아두면 좋은 점이 있습니다. 첫 x 째 매개 변수로 전달하려는 의도로 null을 전달하면 널 (null) 배열로 사용됩니다.
SomeMethod(null);
public void SomeMethod(params object[] items)
{
...
}
항목 먼저 ELEM로하지 array
1의 길이와 null
, null가됩니다 :이 같은 코드 그래서.
1
메서드 서명이 유효하지 않으므로 컴파일되지 않습니다. 당신은 여전히 예를 들어, 항목의 유형을 지정해야합니다
foo(params string[] items) { }
그때 당신은 단순히 충분히를 호출 할 수
foo("one", "two", "three");
foo(new string { "one", "two", "three"});
foo(myCollection.ToArray());
또는
foo(myArrayOfStrings);
을 myArrayOfStrings
가 배열 인 경우 문자열의.
또한 이후, 항목을 반복하기 전에 null 인수를 확인해야한다
foo(null);
유효합니다.
관련 문제