EngineNodes Class

List of EngineNode's, providing functionality for fast searching on node id.

The list does not allow nodes with the same id.

Definition

Namespace: DHI.Mike1D.Engine
Assembly: DHI.Mike1D.Engine (in DHI.Mike1D.Engine.dll) Version: 24.0.0.0 (11.1.1.1111)
C#
public class EngineNodes : IList<EngineNode>, 
	ICollection<EngineNode>, IEnumerable<EngineNode>, IEnumerable, 
	IReadOnlyList<EngineNode>, IReadOnlyCollection<EngineNode>
Inheritance
Object    EngineNodes
Implements
ICollectionEngineNode, IEnumerableEngineNode, IListEngineNode, IReadOnlyCollectionEngineNode, IReadOnlyListEngineNode, IEnumerable

Constructors

EngineNodes Default constructor.
EngineNodes(IEnumerableEngineNode) Constructor initializing the list with another collection.

Properties

CountGets the number of elements contained in the ICollectionT.
IsReadOnlyGets a value indicating whether the ICollectionT is read-only.
ItemGets or sets the element at the specified index.

Methods

AddAdds an item to the ICollectionT.
ClearRemoves all items from the ICollectionT.
ContainsDetermines whether the ICollectionT contains a specific value.
CopyToCopies the elements of the ICollectionT to an Array, starting at a particular Array index.
EqualsDetermines whether the specified object is equal to the current object.
(Inherited from Object)
FinalizeAllows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.
(Inherited from Object)
Find(PredicateEngineNode) Searches for an element that matches the conditions defined by the specified predicate, and returns the first occurrence within the entire list.

Linear searching, o(n), so use with care.

Find(String) Find EngineNode based on Node ID.
GetEnumeratorReturns an enumerator that iterates through the collection.
GetHashCodeServes as the default hash function.
(Inherited from Object)
GetTypeGets the Type of the current instance.
(Inherited from Object)
IndexOfDetermines the index of a specific item in the IListT.
InsertInserts an item to the IListT at the specified index.
MemberwiseCloneCreates a shallow copy of the current Object.
(Inherited from Object)
RemoveRemoves the first occurrence of a specific object from the ICollectionT.
RemoveAtRemoves the IListT item at the specified index.
ToStringReturns a string that represents the current object.
(Inherited from Object)
TrimExcess Sets the capacity to the actual number of elements in the collection, if that number is less than a threshold value.

Extension Methods

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

Example

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)
BinarySearchEngineNode 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)
BinarySearchEngineNode, TKey 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)
BinarySearchEngineNode, TKey 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)
BinarySearchROEngineNode, TKey Searches the entire sorted IReadOnlyListT 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)
BinarySearchROEngineNode, TKey Searches the entire sorted IReadOnlyListT 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)
FindIndexEngineNodeSearches 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)
FindIndexEngineNodeSearches 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)
SortEngineNode 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)
SortEngineNode 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)
SortStableEngineNode Sorts the elements in the entire List{T} using the default 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)
SortStableEngineNode 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)
SortStableEngineNode 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)

See Also