Table of Contents

Class LooselyLinkedList<T>

Namespace
NMF.Collections.Generic
Assembly
NMF.Collections.dll

Denotes a loosely linked list implementation

public class LooselyLinkedList<T> : ICollection<T>, IEnumerable<T>, IEnumerable

Type Parameters

T

The element type

Inheritance
LooselyLinkedList<T>
Implements
Inherited Members

Constructors

LooselyLinkedList()

Creates a new instance

public LooselyLinkedList()

Properties

Count

Gets the number of elements contained in the ICollection<T>.

public int Count { get; }

Property Value

int

The number of elements contained in the ICollection<T>.

First

Gets the first node

public LooselyLinkedListNode<T> First { get; }

Property Value

LooselyLinkedListNode<T>

IsReadOnly

Gets a value indicating whether the ICollection<T> is read-only.

public bool IsReadOnly { get; }

Property Value

bool

true if the ICollection<T> is read-only; otherwise, false.

Last

Gets the last node

public LooselyLinkedListNode<T> Last { get; }

Property Value

LooselyLinkedListNode<T>

Nodes

Gets all nodes

public IEnumerable<LooselyLinkedListNode<T>> Nodes { get; }

Property Value

IEnumerable<LooselyLinkedListNode<T>>

Methods

Add(LooselyLinkedListNode<T>)

Adds the provided node

public void Add(LooselyLinkedListNode<T> newNode)

Parameters

newNode LooselyLinkedListNode<T>

The node to add

Add(T)

Adds an item to the ICollection<T>.

public void Add(T item)

Parameters

item T

The object to add to the ICollection<T>.

Exceptions

NotSupportedException

The ICollection<T> is read-only.

AddAfter(LooselyLinkedListNode<T>, LooselyLinkedListNode<T>)

Adds the given node after the provided node

public void AddAfter(LooselyLinkedListNode<T> node, LooselyLinkedListNode<T> newNode)

Parameters

node LooselyLinkedListNode<T>

The node after which the new node should be added

newNode LooselyLinkedListNode<T>

The new node

Exceptions

ArgumentNullException

Thrown if either is null

AddAfter(LooselyLinkedListNode<T>, T)

Adds the given value after the provided node

public void AddAfter(LooselyLinkedListNode<T> node, T value)

Parameters

node LooselyLinkedListNode<T>

The node after which the new node should be added

value T

The value to add

AddFirst(LooselyLinkedListNode<T>)

Adds the given node at the beginning of the list

public void AddFirst(LooselyLinkedListNode<T> newNode)

Parameters

newNode LooselyLinkedListNode<T>

the node to add

Clear()

Removes all items from the ICollection<T>.

public void Clear()

Exceptions

NotSupportedException

The ICollection<T> is read-only.

Contains(T)

Determines whether the ICollection<T> contains a specific value.

public bool Contains(T item)

Parameters

item T

The object to locate in the ICollection<T>.

Returns

bool

true if item is found in the ICollection<T>; otherwise, false.

CopyTo(T[], int)

Copies the elements of the ICollection<T> to an Array, starting at a particular Array index.

public void CopyTo(T[] array, int arrayIndex)

Parameters

array T[]

The one-dimensional Array that is the destination of the elements copied from ICollection<T>. The Array must have zero-based indexing.

arrayIndex int

The zero-based index in array at which copying begins.

Exceptions

ArgumentNullException

array is null.

ArgumentOutOfRangeException

arrayIndex is less than 0.

ArgumentException

The number of elements in the source ICollection<T> is greater than the available space from arrayIndex to the end of the destination array.

CutAfter(LooselyLinkedListNode<T>)

Cut the linked list after the given node

public void CutAfter(LooselyLinkedListNode<T> node)

Parameters

node LooselyLinkedListNode<T>

The node of the linked list

Exceptions

ArgumentNullException

Thrown if node is null

GetEnumerator()

Returns an enumerator that iterates through the collection.

public IEnumerator<T> GetEnumerator()

Returns

IEnumerator<T>

An enumerator that can be used to iterate through the collection.

Remove(T)

Removes the first occurrence of a specific object from the ICollection<T>.

public bool Remove(T item)

Parameters

item T

The object to remove from the ICollection<T>.

Returns

bool

true if item was successfully removed from the ICollection<T>; otherwise, false. This method also returns false if item is not found in the original ICollection<T>.

Exceptions

NotSupportedException

The ICollection<T> is read-only.