더북(TheBook)

여러분의 목적에 맞게 가장 작은 기능을 가진 타입을 고수하도록 노력하라. 항목을 그저 순차적으로 검토하는 경우라면 가능한 한 IEnumerable<T>를 사용하자. 반복적으로 액세스할 수 있는 카운트도 필요하다면 ICollection<T>를 사용하자. LINQ 확장 메서드 .Count()를 참고하자. Count()에는 IReadOnlyCollection<T>를 지원하는 타입을 특수하게 처리하는 코드가 있다. 따라서 IEnumerable에 사용하더라도 대신 캐시된 값을 반환할 수 있다.

배열은 함수의 로컬 스코프 안에서 사용하기에 가장 적합하다. 다른 목적을 위해 IReadOnlyCollection<T>IReadOnlyList<T> 또는 ISet<T>와 같이 IEnumerable<T>에 추가로 노출하기에 더 적합한 타입이나 인터페이스가 있다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.