.NET 클래스 라이브러리는 System.Collections.Generic 및 System.Collections.ObjectModel 네임스페이스에 여러 제네릭 컬렉션 클래스를 제공합니다. 이러한 클래스에 대한 자세한 내용은 일반적으로 사용되는 컬렉션 형식을 참조하세요.
System.Collections.Generic
제네릭 컬렉션 형식의 대부분은 비제네릭 형식의 직접적인 유사체입니다. Dictionary<TKey,TValue>는 Hashtable의 제네릭 버전입니다. 열거형 KeyValuePair<TKey,TValue> 대신 제네릭 구조 DictionaryEntry를 사용합니다.
List<T>는 ArrayList의 제네릭 버전입니다. 제네릭이 아닌 버전에 해당하는 제네릭 Queue<T> 및 Stack<T> 클래스가 있습니다.
SortedList<TKey,TValue>의 제네릭 버전과 비제네릭 버전이 있습니다. 두 버전 모두 사전과 목록의 하이브리드입니다. SortedDictionary<TKey,TValue> 제네릭 클래스는 순수 사전이며 제네릭이 아닌 사전이 없습니다.
LinkedList<T> 제네릭 클래스는 실제 연결된 목록입니다. 비제네릭 대응 항목이 없습니다.
System.Collections.ObjectModel
제네릭 클래스는 Collection<T> 고유한 제네릭 컬렉션 형식을 파생하기 위한 기본 클래스를 제공합니다. 이 클래스는 ReadOnlyCollection<T> 제네릭 인터페이스를 구현 IList<T> 하는 모든 형식에서 읽기 전용 컬렉션을 생성하는 쉬운 방법을 제공합니다. 제네릭 클래스는 KeyedCollection<TKey,TItem> 자체 키를 포함하는 개체를 저장하는 방법을 제공합니다.
기타 제네릭 형식
Nullable<T> 제네릭 구조를 사용하면 값 형식을 할당null할 수 있는 것처럼 사용할 수 있습니다. 이 기능은 값 형식이 포함된 필드가 누락될 수 있는 데이터베이스 쿼리를 사용할 때 유용할 수 있습니다. 제네릭 형식 매개 변수는 모든 값 형식일 수 있습니다.
비고
C# 및 Visual Basic에서는 언어에 nullable 형식에 대한 구문이 있으므로 명시적으로 사용할 Nullable<T> 필요가 없습니다. Nullable 값 형식(C# 참조) 및 Nullable 값 형식(Visual Basic)을 참조하세요.
제네릭 구조는 ArraySegment<T> 모든 형식의 1차원 0부터 시작하는 배열 내에서 요소 범위를 구분하는 방법을 제공합니다. 제네릭 형식 매개 변수는 배열 요소의 형식입니다.
EventHandler<TEventArgs> 제네릭 대리자는 이벤트가 .NET에서 사용하는 이벤트 처리 패턴을 따르는 경우 이벤트를 처리하기 위해 대리자 형식을 선언할 필요가 없습니다. 예를 들어, 이벤트에 대한 데이터를 보관하기 위해 MyEventArgs에서 파생된 EventArgs 클래스를 만들었다고 가정해 봅시다. 그런 다음 다음과 같이 이벤트를 선언할 수 있습니다.
public event EventHandler<MyEventArgs> MyEvent;
Public Event MyEvent As EventHandler(Of MyEventArgs)
참고하십시오
.NET