답변:
List<string> mylist = new List<string>(new string[] { "element1", "element2", "element3" });
new
당신이 초기화하면 아무것도{ }
Collections::Generic::List<int>^ mylist = gcnew Collections::Generic::List<int>(gcnew array<int>{0, 1, 2, 3, 4})
new String[]
이 효율적이지 않기 때문에 ?
()
마지막에 제거하십시오 .
List<string> optionList = new List<string>
{ "AdditionalCardPersonAdressType", /* rest of elements */ };
List<string> optionList = new List<string>() { "AdditionalCardPersonAdressType", /* rest of elements */ };
. ()
여기를 참고 하십시오 : new List<string>()
.
실제로 질문을하지는 않았지만 코드는
List<string> optionList = new List<string> { "string1", "string2", ..., "stringN"};
즉, 목록 다음에 후행 ()이 없습니다.
var animals = new List<string> { "bird", "dog" };
List<string> animals= new List<string> { "bird", "dog" };
위의 두 가지 방법 중 가장 짧은 방법은 https://www.dotnetperls.com/list 를 참조 하십시오.
string[]
var animals = new List<string> { "bird", "dog" };
허용 된 답변에 제안되지 않았습니다. 또한 (new string[]
허용되는 답변에 추가 명령이 있으므로 피할 수 있습니다.
정말 멋진 기능 중 하나는 목록 초기화 프로그램이 사용자 정의 클래스에서도 잘 작동한다는 것입니다. IEnumerable 인터페이스 를 구현하고 Add 라는 메소드가 있어야합니다. .
예를 들어 다음과 같은 사용자 정의 클래스가있는 경우 :
class MyCustomCollection : System.Collections.IEnumerable
{
List<string> _items = new List<string>();
public void Add(string item)
{
_items.Add(item);
}
public IEnumerator GetEnumerator()
{
return _items.GetEnumerator();
}
}
이것은 작동합니다 :
var myTestCollection = new MyCustomCollection()
{
"item1",
"item2"
}