[Effective C#] 아이템 29: 컬렉션을 반환하기보다 이터레이터를 반환하는 것이 낫다
LINQ 개요 LINQ는 C# 3.0에 추가된 기능이다. LINQ는 지연된 쿼리를 지원한다. 다양한 저장소에 대해 쿼리를 수행할 수 있다. 쿼리 제공자를 자유롭게 구현할 수 있다.
LINQ 개요 LINQ는 C# 3.0에 추가된 기능이다. LINQ는 지연된 쿼리를 지원한다. 다양한 저장소에 대해 쿼리를 수행할 수 있다. 쿼리 제공자를 자유롭게 구현할 수 있다.
아이템 27과 비슷하게 List, Dictionary<EmployeeID, Employee>와 같이 이미 구체화된 컬렉션 타입에 확장 메서드를 추가하여 새로운 기능을 추가할 수 있다.
인터페이스에서 정의하는 멤버들은 이를 구현하는 클래스에서 반드시 구현해야한다.
새로운 라이브러리를 개발할 때에 제네릭 타입뿐 아니라 고전적인 방식도 함께 지원하면 라이브러리의 활용도를 좀 더 높일 수 있다.
제네릭 클래스를 사용하는 대신 제네릭 메서드를 사용했을 때의 장점 각 메서드별로 제약 조건을 설정할 수 있다. 타입별로 특화된 메서드를 정의할 수 있다. 매개변수를 명시적으로 지정할 필요가 없다.