제네릭 컬렉션 사용 기준

업데이트: 2007년 11월

제네릭 컬렉션은 기본 컬렉션 형식에서 파생하고 형식별 멤버를 구현하지 않아도 형식 안전성의 이점을 즉시 얻을 수 있으므로 이 컬렉션을 사용하는 것이 좋습니다. 또한 컬렉션 요소가 형식 값인 경우 해당 요소를 boxing하지 않아도 되므로 제네릭 컬렉션 형식은 해당 제네릭이 아닌 컬렉션 형식 및 제네릭이 아닌 기본 컬렉션 형식에서 파생되는 형식보다 일반적으로 성능이 더 좋습니다.

기존 컬렉션 형식에 해당하는 제네릭 형식은 다음과 같습니다.

추가 형식

제네릭이 아닌 컬렉션 형식이 없는 제네릭 컬렉션 형식은 다음과 같습니다.

LINQ to Objects

LINQ to Objects 기능을 사용하면 개체 형식이 IEnumerable 또는 IEnumerable<T>을 구현하는 경우 LINQ 쿼리를 통해 메모리 내 개체에 액세스할 수 있습니다. LINQ 쿼리는 데이터 액세스를 위한 일반 패턴을 제공하고, 표준 foreach 루프에 비해 간결하고 쉽게 읽을 수 있으며, 필터링, 순서 지정 및 그룹화 기능을 제공합니다. 또한 LINQ 쿼리를 통해 성능을 향상시킬 수도 있습니다. 자세한 내용은 LINQ to Objects를 참조하십시오.

추가 기능

일부 제네릭 형식은 제네릭이 아닌 컬렉션 형식에 없는 기능을 포함합니다. 예를 들어, 제네릭이 아닌 ArrayList 클래스에 해당하는 List<T> 클래스에는 목록을 검색하는 메서드를 지정할 수 있는 Predicate<T> 대리자, 목록의 각 요소에서 동작하는 메서드를 나타내는 Action<T> 대리자 및 형식 간의 변환을 정의할 수 있는 Converter<TInput, TOutput> 대리자와 같은 제네릭 대리자를 허용하는 메서드가 많이 있습니다.

List<T> 클래스를 사용하면 목록을 정렬하고 검색하기 위한 고유한 IComparer<T> 제네릭 인터페이스 구현을 지정할 수 있습니다. SortedDictionary<TKey, TValue>SortedList<TKey, TValue> 클래스는 이 기능뿐 아니라 컬렉션을 만들 때 비교자를 지정할 수 있도록 합니다. 이런 식으로 Dictionary<TKey, TValue>KeyedCollection<TKey, TItem> 클래스를 사용하면 사용자 고유의 같음 비교자를 지정할 수 있습니다.

참고 항목

개념

.NET Framework의 제네릭 개요

기타 리소스

일반적으로 사용되는 컬렉션 형식