ListWrapperT1, T2 Class |
Often T2 is a property of T1, i.e. if having a list of complex objects like MyClass below, to expose the string id's a an IList{string}:
Class MyClass { public string Id { get; set;} ... } IList{string} listStrings = new ListSelector(IList{MyClass} list, (mc) => mc.Id);
Namespace: DHI.Mike1D.Generic.Collections
public class ListWrapper<T1, T2> : IList<T2>, ICollection<T2>, IEnumerable<T2>, IEnumerable
The ListWrapperT1, T2 type exposes the following members.
Name | Description | |
---|---|---|
![]() | ListWrapperT1, T2 |
Create new wrapper
|
Name | Description | |
---|---|---|
![]() | Count | Gets the number of elements contained in the ICollectionT. |
![]() | IsReadOnly | Gets a value indicating whether the ICollectionT is read-only. |
![]() | Item | Gets or sets the element at the specified index. |
Name | Description | |
---|---|---|
![]() | Add | Adds an item to the ICollectionT. |
![]() | Clear | Removes all items from the ICollectionT. |
![]() | Contains | Determines whether the ICollectionT contains a specific value. |
![]() | CopyTo | |
![]() | 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 IListT item at the specified index. |
![]() | ToString | Returns a string that represents the current object. (Inherited from Object.) |
Name | Description | |
---|---|---|
![]() | BinarySearchT2(T2) | 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] |
![]() ![]() | BinarySearchT2(FuncT2, 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. ![]()
If having a list of doubles, to find 4.5 in the list, use:
int index = list.BinarySearch(d => d.CompareTo(4.5)) |
![]() | BinarySearchT2(T2, IComparerT2) | 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] |
![]() | BinarySearchT2, TKey(FuncT2, 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. |
![]() | BinarySearchT2, TKey(FuncT2, 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. |
![]() | SortT2 | 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). |
![]() | SortT2(IComparerT2) | 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). |
![]() | SortStableT2 | Overloaded. (Defined by GenericExtensions.) |
![]() | SortStableT2(IComparerT2) | 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. |
![]() | SortStableT2(ComparisonT2) | 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. |