Enhanced C#
Language of your choice: library documentation
Properties | Public Member Functions | List of all members
Loyc.Collections.Impl.ListExBase< T > Class Template Referenceabstract

A base class for classes that wish to implement IListEx<T>. Provides default implementations for most of the methods. More...


Source file:
Inheritance diagram for Loyc.Collections.Impl.ListExBase< T >:
Loyc.Collections.Impl.ListSourceBase< T > Loyc.Collections.IListEx< T > Loyc.Collections.Impl.ReadOnlyCollectionBase< T > Loyc.Collections.IListAndListSource< T > Loyc.Collections.IIsEmpty Loyc.Collections.IListAndListSource< T > Loyc.Collections.ICollectionEx< T > Loyc.Collections.IArray< T > Loyc.Collections.IListRangeMethods< T > Loyc.Collections.IArraySink< T > Loyc.Collections.IListSource< T > Loyc.Collections.IIsEmpty Loyc.Collections.IAddRange< T > Loyc.Collections.ICollectionImpl< T > Loyc.Collections.ICollectionAndSource< T > Loyc.Collections.IListSource< T > Loyc.Collections.IListAndReadOnly< T > Loyc.Collections.ICollectionAndSource< T > Loyc.Collections.IListSource< T > Loyc.Collections.IListAndReadOnly< T > Loyc.Collections.ICollectionAndReadOnly< T >

Remarks

A base class for classes that wish to implement IListEx<T>. Provides default implementations for most of the methods.

Properties

new T this[int index] [get, set]
 
- Properties inherited from Loyc.Collections.Impl.ListSourceBase< T >
abstract override int Count [get]
 
bool IsEmpty [get]
 
this[int index] [get]
 
- Properties inherited from Loyc.Collections.Impl.ReadOnlyCollectionBase< T >
abstract int Count [get]
 
- Properties inherited from Loyc.Collections.IIsEmpty
bool IsEmpty [get]
 
- Properties inherited from Loyc.Collections.IListEx< T >
new int Count [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.IArraySink< T >
this[int index] [set]
 

Public Member Functions

abstract bool TrySet (int index, T value)
 
abstract void Insert (int index, T item)
 
abstract void Clear ()
 
abstract void RemoveAt (int index)
 
void Add (T item)
 
bool Remove (T item)
 
void AddRange (IEnumerable< T > e)
 
void AddRange (IReadOnlyCollection< T > s)
 
virtual void RemoveRange (int start, int count)
 
virtual void InsertRange (int index, IReadOnlyCollection< T > items)
 
virtual void InsertRange (int index, IEnumerable< T > items)
 
virtual void CopyTo (T[] array, int arrayIndex)
 Copies the elements of the collection to an Array, starting at a particular array index. More...
 
- Public Member Functions inherited from Loyc.Collections.Impl.ListSourceBase< T >
abstract T TryGet (int index, out bool fail)
 
int IndexOf (T item)
 
Slice_< T > Slice (int start, int count)
 
override IEnumerator< T > GetEnumerator ()
 
- Public Member Functions inherited from Loyc.Collections.Impl.ReadOnlyCollectionBase< T >
bool Contains (T item)
 
- Public Member Functions inherited from Loyc.Collections.IListSource< T >
IRange< T > Slice (int start, int count=int.MaxValue)
 Returns a sub-range of this list. More...
 
- Public Member Functions inherited from Loyc.Collections.IContains< T >
bool Contains (T item)
 Returns true if and only if the collection contains the specified item. More...
 
- Public Member Functions inherited from Loyc.Collections.ICollectionSink< T >
void Clear ()
 
bool Remove (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.IListRangeMethods< T >
void InsertRange (int index, IEnumerable< T > s)
 
void InsertRange (int index, IReadOnlyCollection< T > s)
 
void RemoveRange (int index, int amount)
 

Additional Inherited Members

- Protected Member Functions inherited from Loyc.Collections.Impl.ListSourceBase< T >
int ThrowIndexOutOfRange (int index)
 

Member Function Documentation

◆ CopyTo()

virtual void Loyc.Collections.Impl.ListExBase< T >.CopyTo ( T[]  array,
int  arrayIndex 
)
inlinevirtual

Copies the elements of the collection to an Array, starting at a particular array index.

It's usually more convenient to call the ToArray() extension method, which calls this method for you.

This method exists for performance reasons (the collection itself can often copy data out faster than an enumerator can).

Exceptions
ArgumentNullExceptionarray is null.
ArgumentOutOfRangeExceptionarrayIndex is negative.
ArgumentExceptionThe number of elements in the source collection is greater than the available space from arrayIndex to the end of the destination array.

Implements Loyc.Collections.ICollectionSource< T >.