[c#] 선언 한 줄에서 C # 목록을 어떻게 초기화 할 수 있습니까? (IEnumerable 문자열 수집 예)

내 테스트 코드를 작성 중이며 작성하고 싶지 않습니다.

List<string> nameslist = new List<string>();
nameslist.Add("one");
nameslist.Add("two");
nameslist.Add("three");

나는 쓰고 싶다

List<string> nameslist = new List<string>({"one", "two", "three"});

그러나 { “one”, “two”, “three”}는 “IEnumerable string Collection”이 아닙니다. IEnumerable string Collection “을 사용하여 한 줄로 어떻게 초기화 할 수 있습니까?



답변

var list = new List<string> { "One", "Two", "Three" };

기본적으로 구문은 다음과 같습니다.

new List<Type> { Instance1, Instance2, Instance3 };

컴파일러에 의해 다음과 같이 번역됩니다.

List<string> list = new List<string>();
list.Add("One");
list.Add("Two");
list.Add("Three");


답변

코드를 다음으로 변경하십시오.

List<string> nameslist = new List<string> {"one", "two", "three"};

또는

List<string> nameslist = new List<string>(new[] {"one", "two", "three"});


답변

괄호를 잃어 버리십시오.

var nameslist = new List<string> { "one", "two", "three" };


답변

List<string> nameslist = new List<string> {"one", "two", "three"} ?


답변

괄호를 제거하십시오.

List<string> nameslist = new List<string> {"one", "two", "three"};


답변

사용중인 C # 버전에 따라 버전 3.0부터 사용할 수 있습니다.

List<string> nameslist = new List<string> { "one", "two", "three" };


답변

나는 이것이 int, long 및 string 값에 대해 작동한다고 생각합니다.

List<int> list = new List<int>(new int[]{ 2, 3, 7 });


var animals = new List<string>() { "bird", "dog" };