GenericCollection
独自のカスタムクラスを設計する必要があります。IEnumerable
今、私は、、、ICollection
およびを使用してそれを導出するための多くのオプションがありIList
、後でいくつかの追加機能を提供します。
IEnumerable<T>
この場合のように、実際にコレクションを保持するためにオブジェクトを宣言する必要があるかもしれないと私は少し混乱しています_list
。
public class GenericCollection<T> : IEnumerable<T>
{
private List<T> _list;
//...
}
しかし、ICollection<T>
またはを使用する場合は、暗黙的に使用可能であるため、オブジェクトIList<T>
を宣言する必要はありません。List
public class GenericCollection<T> : IList<T>
{
// no need for List object
//private List<T> _list;
//...
}
パフォーマンスに関して、これら2つのアプローチの違いは何ですか?
どのシナリオでは、特に独自のコレクションをデザインする場合に、それぞれが優先されます。パフォーマンスの良い軽量コレクションに興味があります。これはを使用して達成できると思いますが、それを使用IEnumerable<T>
するいくつかの強力な理由とどの程度正確に一致しますか?
いくつかの既存の投稿を確認しましたが、必要な情報を提供しているものはありません。