사용자 지정 GenericCollection
클래스를 디자인해야합니다. 이제는 IEnumerable
, ICollection
및 IList
을 사용하여 파생 할 수있는 옵션이 많습니다. 나중에 추가 기능이 제공됩니다.IEnumerable 대 ILolist를 사용한 ICollection
나는이 경우 _list
처럼 컬렉션을 실제로 보유하도록 객체를 선언해야 할 수도 있다는 점을 다소 혼란스럽게 생각합니다. 내가 ICollection<T>
또는 IList<T>
갈 경우는 암시 적으로 사용할 수있게되면
public class GenericCollection<T> : IEnumerable<T>
{
private List<T> _list;
//...
}
는하지만, 나는 List
객체를 선언 할 필요가 없습니다.
public class GenericCollection<T> : IList<T>
{
// no need for List object
//private List<T> _list;
//...
}
성능에 대한이 두 가지 방법의 차이점은 무엇입니까?
각 시나리오에서 특히 자신의 컬렉션을 디자인 할 때 선호됩니다. 나는 좋은 성능으로 경량 컬렉션에 관심이 있습니다. 나는 이것이 IEnumerable<T>
을 사용하여 성취 될 수 있다고 생각하지만, 그와 함께 할 강력한 이유들과 정확히 어떻게 일치 하는가?
일부 기존 게시물을 검토했지만 필요한 정보가 없습니다.
Returning 'IList' vs 'ICollection' vs 'Collection'
첫 번째 예에서는 _list 멤버가 필요하지 않습니다. 또한, IList에서 상속 한 경우 IList와 관련하여 공용 인터페이스를 구현하는 경우에도 일부 저장 메커니즘을 구현해야합니다. –