Q
C#을
5
A
답변
16
당신은이 작업을 수행 할 수 있습니다
DoSomething(10, new[] {"One", "Two", "Three"});
제공하는 모든 객체가 같은 유형이 배열 정의 유형을 지정할 필요가 없습니다
2
이 시도 :
DoSomething(10, new string[] {"One", "Two", "Three"});
2
다음과 같이 전달하여 구성 할 수 있습니다.
DoSomething(10, new string[] { "One", "Two", "Three"});
9
DoSomething
이 수정할 수있는 함수 인 경우 params
키워드를 사용하여 배열을 만들지 않고 여러 인수를 전달할 수 있습니다. 또한 배열을 올바르게 수용하므로 기존 배열을 "해체 할 필요가 없습니다".
class x
{
public static void foo(params string[] ss)
{
foreach (string s in ss)
{
System.Console.WriteLine(s);
}
}
public static void Main()
{
foo("a", "b", "c");
string[] s = new string[] { "d", "e", "f" };
foo(s);
}
}
출력 :
$ ./d.exe a b c d e f
+0
이것은 훌륭한 제안이기도합니다! –
딱! 그래도 새 []가 필요한 이유를 설명해 주시겠습니까? 내가했다면 : string [] MyString = { "One", "Two", "Three"}; 그것은 잘 작동합니까? –
구문이 작동하는 방식. 당신은 이것을 할 수 없습니다 : var x = string [] { "One", "Two", "Three"}; 그러나 당신은 이것을 할 수 있습니다 var y = new [] { "One", "Two", "Three"}; –
이 기사는 매우 유용합니다. 객체 이니셜 라이저는 코드 sooo를 훨씬 더 깨끗하게 만듭니다. http://weblogs.asp.net/scottgu/archive/2007/03/08/new-c-orcas-language-features-automatic-properties-object-initializers-and-collection-initializers .aspx 및 원래 질문에 대한 자세한 내용은 다음을 참조하십시오. http://msdn.microsoft.com/en-us/library/ms364047(VS.80).aspx#cs3spec_topic7 –