2017-04-24 4 views
0

나는 기본적인 개념적 의심을 가지고 있으며 당분간은 대답을 찾고있다. (내가 놓친 그냥 한번목록 개체 초기화

List<string> list = new List<string>() { "a", "b", "c" }; 

) 대신 다음과 같은 방법으로 그것을 초기화 : 나는 다음과 같은 방식으로 목록을 초기화 한

List<string> list = new List<string> { "a", "b", "c" }; 

없음 컴파일 시간 또는 오류가 있었다 시간을 실행 던져. 두 번째 방법이 옳은지 알고 싶습니다. 둘의 차이점은 무엇입니까?

+1

'()'은 선택 사항이지만 차이는 없습니다. 당신이 일리노이를 보면 그것은 동일해야합니다. –

+0

생성자에 인수를 제공 할 때'()'을 사용해야합니다. 그렇지 않으면 객체 이니셜 라이저를 사용할 때이를 생략 할 수 있습니다. – dcg

+0

나는 그것을 지금 얻는다, 고마워한다 :) –

답변

1

은() 첫 번째 예에서

선택 사항입니다 같은 일이, 컴파일러는 명시 적, 두 번째 당신을 기본 생성자

List<string> list = new List<string> { "a", "b", "c" }; 

를 호출하고 있음을 알고 않습니다 기본 생성자를 호출하십시오.

List<string> list = new List<string>() { "a", "b", "c" };