5개의 좋아요
Edit
아 직접 쓰신게 아니고 번역하신 것인가 보네요~
내용이 가볍게 읽히면서도 실용적이라 좋네요
컬렉션 표현식으로 컬렉션을 초기화할 때 컴파일러는 기능적으로 컬렉션 이니셜라이저를 사용하는 것과 동일한 코드를 생성한다. 때로는 생성된 코드가 컬렉션 이니셜라이저를 사용하는 것보다 훨씬 더 효율적일 수 있다. 다음 예제를 살펴보자:
List someList = new() { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
컬렉션 이니셜라이저의 규칙에 따라 컴파일러는 이니셜라이저의 각 요소에 대해 Add 메서드를 호출해야 한다. 그러나 컬렉션 표현식 구문을 사용하려는 경우:
List someList = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
컴파일러는 더 빠르거나 더 최적화될 수 있는 AddRange를 대신 사용하는 코드를 생성한다. 컴파일러는 컬렉션 표현식의 대상 유형을 알고 있기 때문에 이러한 최적화를 수행할 수 있다.
이런 내부적 내용은 어떻게 공부하시는지 여쭤봐도 될까요?
1개의 좋아요
모든 닷넷 구현의 내부를 속속들이 아는 것도 힘들지만, 그걸 위해 노력할 시간이 대부분 부족하죠.
양질의 글을 읽다가 행간에 숨겨진 보석을 발견하는 행운이… 주요 루트 아닐까요?
2개의 좋아요