Click or drag to resize

IListDateTimes Interface

Interface for a list of DateTime's Required for generic list COM interop

Namespace:  DHI.Mike1D.Generic
Assembly:  DHI.Mike1D.Generic (in DHI.Mike1D.Generic.dll) Version: 19.0.0.0 (11.1.1.1111)
Syntax
public interface IListDateTimes : IEnumerable<DateTime>, 
	IEnumerable, IList<DateTime>, ICollection<DateTime>, 
	IReadOnlyList<DateTime>, IReadOnlyCollection<DateTime>

The IListDateTimes type exposes the following members.

Properties
  NameDescription
Public propertyCount
The number of DateTime's in the list
Public propertyIsReadOnly (Inherited from ICollectionDateTime.)
Public propertyItem
Get or set the DateTime at the specified index in the list
Top
Methods
  NameDescription
Public methodAdd
Add a DateTime to the list
Public methodClear
Removes all elements from the List.
Public methodContains (Inherited from ICollectionDateTime.)
Public methodCopyTo (Inherited from ICollectionDateTime.)
Public methodFind
Searches for an element that matches the conditions defined by the specified predicate, and returns the first occurrence within the entire List.
Public methodGetEnumerator
Returns an enumerator that iterates through the collection.
(Inherited from IEnumerableDateTime.)
Public methodIndexOf
Searches for the specified object and returns the zero-based index of the first occurrence within the entire List.
Public methodInsert (Inherited from IListDateTime.)
Public methodRemove
Removes the first occurrence of a specific object from the List.
Public methodRemoveAt
Removes the element at the specified index of the List.
Public methodToArray
Copies all elements of the list to an array.
Top
Extension Methods
  NameDescription
Public Extension MethodBinarySearchDateTime(DateTime)Overloaded.
Searches the entire sorted IListT for an element and returns the zero-based index of the element.

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]

(Defined by GenericExtensions.)
Public Extension MethodCode exampleBinarySearchDateTime(FuncDateTime, Int32)Overloaded.
Searches the entire sorted IListT for an element using the provided comparer and returns the zero-based index of the element.

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))
(Defined by GenericExtensions.)
Public Extension MethodBinarySearchDateTime(DateTime, IComparerDateTime)Overloaded.
Searches the entire sorted IListT for an element using the provided comparer and returns the zero-based index of the element.

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]

(Defined by GenericExtensions.)
Public Extension MethodBinarySearchDateTime, TKey(FuncDateTime, TKey, TKey)Overloaded.
Searches the entire sorted IListT for an element and returns the zero-based index of the element.

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.

(Defined by GenericExtensions.)
Public Extension MethodBinarySearchDateTime, TKey(FuncDateTime, 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.

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.

(Defined by GenericExtensions.)
Public Extension MethodFindIndexDateTime(PredicateDateTime)Overloaded.
Searches for an element that matches the conditions defined by the specified predicate, and returns the zero-based index of the first occurrence within the range of elements in the list.
(Defined by GenericExtensions.)
Public Extension MethodFindIndexDateTime(Int32, PredicateDateTime)Overloaded.
Searches for an element that matches the conditions defined by the specified predicate, and returns the zero-based index of the first occurrence within the range of elements in the ListT that extends from the specified index to the last element.
(Defined by GenericExtensions.)
Public Extension MethodSortDateTimeOverloaded.
Sorts the elements in the entire List{T} using the default comparer.

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).

(Defined by GenericExtensions.)
Public Extension MethodSortDateTime(IComparerDateTime)Overloaded.
Sorts the elements in the entire List{T} using the provided comparer.

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).

(Defined by GenericExtensions.)
Public Extension MethodSortStableDateTimeOverloaded. (Defined by GenericExtensions.)
Public Extension MethodSortStableDateTime(IComparerDateTime)Overloaded.
Sorts the elements in the entire List{T} using the provided comparer.

A merge sort algorithm is used. merge sort is a stable sort algorithm i.e. if two elements are equal their order are preserved.

(Defined by GenericExtensions.)
Public Extension MethodSortStableDateTime(ComparisonDateTime)Overloaded.
Sorts the elements in the entire List{T} using the provided comparer.

A merge sort algorithm is used. merge sort is a stable sort algorithm i.e. if two elements are equal their order are preserved.

(Defined by GenericExtensions.)
Top
See Also