List를 속성으로 초기화 할 때 이상한 점을 목격했습니다. 이 작업을 수행 할 때목록 속성의 초기화 프로그램 구문
var stuff = new Stuff(){list = {1, 2, 3} };
컴파일되고 해당 목록이 null이라는 오류가 발생합니다. 그래서, 물건의 생성자이 추가 :
public Stuff(){
list = new List<int>();
}
목록은 어떤 의미를 만들기 위해 보이는 지금 {1, 2, 3}
을 포함 할 초기화됩니다. 그러나,
public Stuff(){
list = new List<int>(){1, 2, 3};
}
에 생성자를 변경 그래서
var stuff = new Stuff(){list = {4, 5, 6} };
목록처럼 초기화하는 것은 오히려 혼란 나를 떠나 {1, 2, 3, 4, 5, 6}
를 포함하도록 초기화됩니다.
이렇게 컴파일해서는 안되며 이런 식으로 행동해서는 안됩니다. 여기서 정확히 무슨 일이 일어나고있는거야?
여기 [code] (http://ideone.com/9gtwOC) –