ListWrapperT Class |
Wrapping of an IListT of T to also implement an IList.
This will make the list available as a non-generic list, without copying the content of the list.
The wrapper supports all read functionality, while only partly "write" functionality. For example, adding to the list an element which is not of type T will throw an exception.
Namespace: DHI.Mike1D.Generic.Collections
public class ListWrapper<T> : IList, ICollection, IList<T>, ICollection<T>, IEnumerable<T>, IEnumerable
The ListWrapperT type exposes the following members.
Name | Description | |
---|---|---|
ListWrapperT |
Create a new list wrapper object
|
Name | Description | |
---|---|---|
Count | Gets the number of elements contained in the ICollection. | |
IsReadOnly | Gets a value indicating whether the IList is read-only. | |
Item | Gets or sets the element at the specified index. | |
WrappedList |
Returns the wrapped list
|
Name | Description | |
---|---|---|
Add | Adds an item to the ICollectionT. | |
Clear | Removes all items from the IList. | |
Contains | Determines whether the ICollectionT contains a specific value. | |
CopyTo(Array, Int32) | ||
CopyTo(T, Int32) | ||
Equals | Determines whether the specified object is equal to the current object. (Inherited from Object.) | |
Finalize | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.) | |
GetEnumerator | Returns an enumerator that iterates through the collection. | |
GetHashCode | Serves as a hash function for a particular type. (Inherited from Object.) | |
GetType | Gets the Type of the current instance. (Inherited from Object.) | |
IndexOf | Determines the index of a specific item in the IListT. | |
Insert | Inserts an item to the IListT at the specified index. | |
MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object.) | |
Remove | Removes the first occurrence of a specific object from the ICollectionT. | |
RemoveAt | Removes the IList item at the specified index. | |
ToString | Returns a string that represents the current object. (Inherited from Object.) |
Name | Description | |
---|---|---|
BinarySearchT(T) | Overloaded.
Searches the entire sorted IListT for an element
and returns the zero-based index of the element.
(Defined by GenericExtensions.)If the key is not found, a negative number is returned, which can be intepreted as the bitwise complement of the interval of indices that the key is in between, i.e. list[interval-1] < key < list[interval] | |
BinarySearchT(FuncT, Int32) | Overloaded.
Searches the entire sorted IListT for an element using the provided
comparer and returns the zero-based index of the element.
(Defined by GenericExtensions.)This differs from the "ordinary" binary search in allowing a comparer delegate that defines whether an item is found (returning 0), whether the item in the list is before (<0) or after (>0) that knows how to compare a class with its key. Example, if the list contains classes of type T having an id number and the class is sorted on that id, then the keySelector returns the id number for that class. Examples
If having a list of doubles, to find 4.5 in the list, use:
int index = list.BinarySearch(d => d.CompareTo(4.5)) | |
BinarySearchT(T, IComparerT) | Overloaded.
Searches the entire sorted IListT for an element using the provided
comparer and returns the zero-based index of the element.
(Defined by GenericExtensions.)If the key is not found, a negative number is returned, which can be intepreted as the bitwise complement of the interval of indices that the key is in between, i.e. list[interval-1] < key < list[interval] | |
BinarySearchT, TKey(FuncT, TKey, TKey) | Overloaded.
Searches the entire sorted IListT for an element
and returns the zero-based index of the element.
(Defined by GenericExtensions.)If the key is not found, a negative number is returned, which can be intepreted as the bitwise complement of the interval of indices that the key is in between, i.e. list[interval-1] < key < list[interval] This differs from the "ordinary" binary search in allowing a keySelectorcomparer that knows how to compare a class with its key. Example, if the list contains classes of type T having an id number and the class is sorted on that id, then the keySelector returns the id number for that class. | |
BinarySearchT, TKey(FuncT, TKey, TKey, IComparerTKey) | Overloaded.
Searches the entire sorted IListT for an element using the provided
comparer and returns the zero-based index of the element.
(Defined by GenericExtensions.)If the key is not found, a negative number is returned, which can be intepreted as the bitwise complement of the interval of indices that the key is in between, i.e. list[interval-1] < key < list[interval] This differs from the "ordinary" binary search in allowing a keySelectorcomparer that knows how to compare a class with its key. Example, if the list contains classes of type T having an id number and the class is sorted on that id, then the keySelector returns the id number for that class. | |
SortT | Overloaded.
Sorts the elements in the entire List{T} using the default comparer.
(Defined by GenericExtensions.)A quick sort algorithm is used. Quick sort is a un-stable sort algorithm i.e. if two elements are equal their order may not be preserved. If the provided IList is either an array or a list, the build in sorting method is used (also quick sort). | |
SortT(IComparerT) | Overloaded.
Sorts the elements in the entire List{T} using the provided comparer.
(Defined by GenericExtensions.)A quick sort algorithm is used. Quick sort is a un-stable sort algorithm i.e. if two elements are equal their order may not be preserved. If the provided IList is either an array or a list, the build in sorting method is used (also quick sort). | |
SortStableT | Overloaded. (Defined by GenericExtensions.) | |
SortStableT(IComparerT) | Overloaded.
Sorts the elements in the entire List{T} using the provided comparer.
(Defined by GenericExtensions.)A merge sort algorithm is used. merge sort is a stable sort algorithm i.e. if two elements are equal their order are preserved. | |
SortStableT(ComparisonT) | Overloaded.
Sorts the elements in the entire List{T} using the provided comparer.
(Defined by GenericExtensions.)A merge sort algorithm is used. merge sort is a stable sort algorithm i.e. if two elements are equal their order are preserved. |