Enhanced C#
Language of your choice: library documentation

Documentation moved to ecsharp.net

GitHub doesn't support HTTP redirects, so you'll be redirected in 3 seconds.

 All Classes Namespaces Functions Variables Enumerations Enumerator Properties Events Pages
List of all members
Loyc.Collections.IListEx< T > Interface Template Reference

This interface combines the original IList(T) interface with several IListSource(T), ISinkList(T), IArray(T) and several additional methods (e.g. RemoveAll, InsertRange). More...

Source file:
Inheritance diagram for Loyc.Collections.IListEx< T >:
Loyc.Collections.IListAndListSource< T > Loyc.Collections.ICollectionEx< T > Loyc.Collections.IArray< T > Loyc.Collections.IListRangeMethods< T > Loyc.Collections.IAddRange< T > Loyc.Collections.ISinkArray< T > Loyc.Collections.IListSource< out T > Loyc.Collections.IIsEmpty Loyc.Collections.IAddRange< T > Loyc.Collections.ISinkCollection< T > Loyc.Collections.ICollectionAndReadOnly< T > Loyc.Collections.ICollectionAndReadOnly< T > Loyc.Collections.IListSource< out T > Loyc.Collections.AList< T > Loyc.Collections.DList< T > Loyc.Collections.Impl.ListExBase< T > Loyc.Collections.ISparseListEx< T > Loyc.Collections.ReversedList< T > Loyc.Collections.SparseAList< T > Loyc.Collections.IndexedAList< T > Loyc.Collections.SparseAList< T >


This interface combines the original IList(T) interface with several IListSource(T), ISinkList(T), IArray(T) and several additional methods (e.g. RemoveAll, InsertRange).

IArray{T} (a version of IListSource{T} that adds the writability of an array) and ISinkList{T} are largely subsets of the IList(T) interface. IListSource has two methods that IList(T) does not (TryGet() and Slice()), while ICollectionEx{T} adds RemoveAll and AddRange.

Just as Iterator scans a collection faster than IEnumerator, TryGet() is intended to accelerate access to a list at a specific index; see IListSource{T} for more information. TryGet() may be called in different ways, through extension methods with the same name.

Using Impl.ListExBase{T} as your base class can help you implement this interface more easily.

Additional Inherited Members

- Properties inherited from Loyc.Collections.ICount
int Count [get]
 Gets the number of items in the collection. More...
- Properties inherited from Loyc.Collections.IIsEmpty
bool IsEmpty [get]
- Properties inherited from Loyc.Collections.IArray< T >
new T this[int index] [get, set]
 Gets or sets an element of the array-like collection. More...
- Properties inherited from Loyc.Collections.ISinkArray< T >
this[int index] [set]
- Public Member Functions inherited from Loyc.Collections.IListSource< out T >
TryGet (int index, out bool fail)
 Gets the item at the specified index, and does not throw an exception on failure. More...
IRange< T > Slice (int start, int count=int.MaxValue)
 Returns a sub-range of this list. More...
- Public Member Functions inherited from Loyc.Collections.ICollectionEx< T >
int RemoveAll (Predicate< T > match)
 Removes the all the elements that match the conditions defined by the specified predicate. More...
- Public Member Functions inherited from Loyc.Collections.ISinkCollection< T >
void Clear ()
bool Remove (T item)
- Public Member Functions inherited from Loyc.Collections.IAdd< in T >
void Add (T item)
- Public Member Functions inherited from Loyc.Collections.IAddRange< T >
void AddRange (IEnumerable< T > e)
void AddRange (IReadOnlyCollection< T > s)
- Public Member Functions inherited from Loyc.Collections.IArray< T >
bool TrySet (int index, T value)
- Public Member Functions inherited from Loyc.Collections.IListRangeMethods< T >
void InsertRange (int index, IEnumerable< T > e)
void InsertRange (int index, IReadOnlyCollection< T > s)
void RemoveRange (int index, int amount)