Class BaseCollection<T>
Provides the base class for all generic collections.
Inherited Members
Namespace: Nevatech.Vsb.Repository
Assembly: Nevatech.Vsb.Repository.dll
Syntax
public class BaseCollection<T> : IList<T>, ICollection<T>, IEnumerable<T>, IEnumerable
Type Parameters
Name | Description |
---|---|
T | The type of elements in the collection. |
Constructors
BaseCollection()
Creates a new instance and ensures that base collection class uses generic list as underlying storage for improved performance.
Declaration
public BaseCollection()
BaseCollection(IEnumerable<T>)
Creates a new instance and uses the specified collection for initial population.
Declaration
public BaseCollection(IEnumerable<T> collection)
Parameters
Type | Name | Description |
---|---|---|
IEnumerable<T> | collection | The initial collection of objects to populate this collection. |
Properties
Count
Gets the number of elements in this collection.
Declaration
public int Count { get; }
Property Value
Type | Description |
---|---|
Int32 |
IsReadOnly
Gets the flag that indicates if this collection is read-only.
Declaration
public virtual bool IsReadOnly { get; }
Property Value
Type | Description |
---|---|
Boolean |
Item[Int32]
Gets or sets the collection element by index.
Declaration
public virtual T this[int index] { get; set; }
Parameters
Type | Name | Description |
---|---|---|
Int32 | index | The zero-based index within this collection. |
Property Value
Type | Description |
---|---|
T | The element at the specified index in this collection. |
Exceptions
Type | Condition |
---|---|
ArgumentOutOfRangeException | Thrown if the specified index is out of range. |
Methods
Add(T)
Adds a new element to this collection.
Declaration
public virtual void Add(T item)
Parameters
Type | Name | Description |
---|---|---|
T | item | The element to add; can be null. |
AddRange(IEnumerable<T>)
Adds elements of an IEnumerable<T> to the end of this collection.
Declaration
public void AddRange(IEnumerable<T> collection)
Parameters
Type | Name | Description |
---|---|---|
IEnumerable<T> | collection | The IEnumerable<T> collection whose elements should be added. |
Exceptions
Type | Condition |
---|---|
ArgumentNullException | Thrown if the specified collection is a null reference. |
AsReadOnly()
Returns a read-only wrapper for this collection.
Declaration
public ReadOnlyCollection<T> AsReadOnly()
Returns
Type | Description |
---|---|
ReadOnlyCollection<T> | A ReadOnlyCollection<T> object that is a read-only wrapper for this collection. |
BinarySearch(T)
Searches the entire sorted collection for an element using the default comparer and returns the zero-based index of the element.
Declaration
public int BinarySearch(T item)
Parameters
Type | Name | Description |
---|---|---|
T | item | The element for which to search. |
Returns
Type | Description |
---|---|
Int32 | The zero based index of an element. |
BinarySearch(T, IComparer<T>)
Searches the entire sorted collection for an element using the specified comparer and returns the zero-based index of the element.
Declaration
public int BinarySearch(T item, IComparer<T> comparer)
Parameters
Type | Name | Description |
---|---|---|
T | item | The element for which to search. |
IComparer<T> | comparer | The IComparer<T> implementation to use when comparing elements. |
Returns
Type | Description |
---|---|
Int32 | The zero based index of an element. |
Clear()
Clears this collection.
Declaration
public virtual void Clear()
Contains(T)
Checks if the specified item is in this collection.
Declaration
public virtual bool Contains(T item)
Parameters
Type | Name | Description |
---|---|---|
T | item | The item to find. |
Returns
Type | Description |
---|---|
Boolean | True if item is found; otherwise, false. |
CopyTo(T[], Int32)
Copies elements from this collection to the specified array.
Declaration
public void CopyTo(T[] array, int arrayIndex)
Parameters
Type | Name | Description |
---|---|---|
T[] | array | The array to which to copy elements. |
Int32 | arrayIndex | The array index at which to start. |
Find(Func<T, Object, Boolean>, Object)
Searches for an item within this collection using the specified element matching function.
Declaration
public T Find(Func<T, object, bool> match, object value)
Parameters
Type | Name | Description |
---|---|---|
Func<T, Object, Boolean> | match | Function that evaluates the search condition. |
Object | value | A value to search for. |
Returns
Type | Description |
---|---|
T | The item of type T if found; otherwise, default T value. |
Exceptions
Type | Condition |
---|---|
ArgumentNullException | Thrown if the specified predicate is a null reference. |
GetEnumerator()
Gets the IEnumerator<T> interface that can be used to iterate through this collection.
Declaration
public IEnumerator<T> GetEnumerator()
Returns
Type | Description |
---|---|
IEnumerator<T> | The IEnumerator<T> interface. |
IndexOf(T)
Searches for the specified object and returns the zero-based index of the first occurrence.
Declaration
public virtual int IndexOf(T item)
Parameters
Type | Name | Description |
---|---|---|
T | item | The object to locate. The value can be a null reference. |
Returns
Type | Description |
---|---|
Int32 | The zero-based index of the first occurrence of |
IndexOf(T, Int32)
Searches for the specified object and returns the zero-based index of the first occurrence.
Declaration
public virtual int IndexOf(T item, int index)
Parameters
Type | Name | Description |
---|---|---|
T | item | The object to locate. The value can be a null reference. |
Int32 | index | The starting index within this collection. |
Returns
Type | Description |
---|---|
Int32 | The zero-based index of the first occurrence of |
Insert(Int32, T)
Inserts an element into the List at the specified index.
Declaration
public virtual void Insert(int index, T item)
Parameters
Type | Name | Description |
---|---|---|
Int32 | index | The zero-based index at which item should be inserted. |
T | item | The object to insert. The value can be a null reference. |
Exceptions
Type | Condition |
---|---|
ArgumentOutOfRangeException | Thrown if the specified index is out of range. |
Remove(T)
Removes an element from this collection.
Declaration
public virtual bool Remove(T item)
Parameters
Type | Name | Description |
---|---|---|
T | item | The element to remove. |
Returns
Type | Description |
---|---|
Boolean | True if element was successfully removed; otherwise, false. |
RemoveAt(Int32)
Removes the element at the specified index.
Declaration
public virtual void RemoveAt(int index)
Parameters
Type | Name | Description |
---|---|---|
Int32 | index | The zero-based index of the element to remove. |
Exceptions
Type | Condition |
---|---|
ArgumentOutOfRangeException | Thrown if the specified index is out of range. |
Sort()
Sorts the entire collection using the Default comparer.
Declaration
public void Sort()
Sort(IComparer<T>)
Sorts the entire collection using the specified Comparer<T> comparer.
Declaration
public void Sort(IComparer<T> comparer)
Parameters
Type | Name | Description |
---|---|---|
IComparer<T> | comparer | The IComparer<T> implementation to use when comparing elements. |
Sort(Comparison<T>)
Sorts the entire collection using the specified Comparison<T> delegate.
Declaration
public void Sort(Comparison<T> comparison)
Parameters
Type | Name | Description |
---|---|---|
Comparison<T> | comparison | The Comparison<T> delegate. |
Exceptions
Type | Condition |
---|---|
ArgumentNullException | Thrown if the specified comparison is a null reference. |
Sort(Int32, Int32, IComparer<T>)
Sorts the range of this collection using the specified Comparer<T> comparer.
Declaration
public void Sort(int index, int count, IComparer<T> comparer)
Parameters
Type | Name | Description |
---|---|---|
Int32 | index | The zero-based starting index of the range to sort. |
Int32 | count | The length of the range to sort. |
IComparer<T> | comparer | The Comparer<T> to use. |
Exceptions
Type | Condition |
---|---|
ArgumentOutOfRangeException | Thrown if the specified index or count is out of range. |
ToArray()
Copies elements of this collection to a new array.
Declaration
public T[] ToArray()
Returns
Type | Description |
---|---|
T[] | An array that contains all elements in this collection. |
Explicit Interface Implementations
IEnumerable.GetEnumerator()
Gets the IEnumerator interface that can be used to iterate through this collection.
Declaration
IEnumerator IEnumerable.GetEnumerator()
Returns
Type | Description |
---|---|
IEnumerator | The IEnumerator interface. |