상세 컨텐츠

본문 제목

ToList에 대한 오해

C#

by 경밤 2022. 6. 16. 21:49

본문

반응형

ToList 라는 메서드는 보통 IEnumerble<T>를 리스트로 변환할 때 사용한다. 보통 yield return을 사용하기 위해서 IEnumerable을 강제적으로 사용하는 수 밖에 없었다. yield return을 사용하면 코드의 병목 현상을 줄일 수 있지만 언뜻 보기에 List 를 다시 만들어야 하니 비효율적으로 보일 수 밖에 없다. 하지만 그닥 비효율적이지는 않다.

왜냐하면 ToList는 모든 요소에 접근하여 그것을 추가하는 형식으로 구현되는 것이 아니라 단지 IEnumerable가 새로 만들어진 List를 참조하도록 한다. 그러므로 yield return에서 부가적으로 따라오는 IEnumerble에서의 ToList를 사용함에 거리낌이 없어야 한다.

반응형

관련글 더보기