2008-10-14 3 views
0

IEnumerator, IEnumerable, ICollection, IList 및 해당 일반 참조에 대한 많은 문서 및 권장 사항을 발견했습니다. 안타깝게도 인터페이스의 전체 계층을 설명하는 설명서 또는 책을 찾지 못했습니다. 해당 인터페이스의 일반 구현 은 각 유형의 최상의 사용법입니다.제네릭과 인터페이스에 대한 가장 좋은 자료는 무엇입니까?

제네릭, 인터페이스 및 C#에서 권장되는 사용 예에 ​​대한 최상의 지식 소스는 무엇입니까?

+0

이 될 컬렉션 –

답변

3

내가 그들을 이해하게 된 주요 방법은 인터페이스를 살펴 보는 것입니다.

상속은 다음과 같이 진행됩니다

은 IList : ICollection에 :

는 IEnumerable 당신을 IEnumerable의 인터페이스를 볼 때, 그것은 단지 항목의 무리를 통해 루프 할 수 있도록 필요한 최소한을 가지고 있음을 알 수 있습니다. 그것은 카운트 또는 다른 것을 가지고 있지 않습니다. IEnumerable은 사용자가보고있는 내용이 전선을 통해 오는 스트림 일지라도 제대로 작동합니다.

ICollection에서 개수를 더합니다. 어떤 종류의 콜렉션을 구현하고 있고 그것의 크기를 아는 것이 쉬운 경우, 이것을 구현해야한다. 이 경우 일반 인터페이스는 약간 다릅니다. ICollection <T>에는 멤버를 추가 및 제거하여 컬렉션을 수정하는 메서드도 있습니다. 정렬되지 않은 집합은 ICollection의 좋은 후보가 될 것입니다.

IList는 인덱스별로 컬렉션 멤버를 가져오고 설정할 수있는 기능을 추가합니다. 항목의 순서가 중요 할 때 사용하십시오. 인덱스가 있으면 4 번째와 5 번째 항목을 바꿔서 순서를 바꿀 수 있습니다. IList의 : ICollection에 : IEnumerable을 당신은 다시 태그합니다

0

당신은 하나 :

IDictionary를 놓쳤다. Generics는 항상 콜렉션에 사용되는 것은 아닙니다.

+0

IDictionary 다른 인터페이스와 조금 다릅니다 - 틀린 경우가 아니라면 키/값 쌍 (ICollection >과 동일한 기능)의 모음 일 것 같습니다. – alexandrul

관련 문제