This documentation is archived and is not being maintained.

LinkedList<T>.AddBefore Method (LinkedListNode<T>, LinkedListNode<T>)

Adds the specified new node before the specified existing node in the LinkedList<T>.

Namespace:  System.Collections.Generic
Assembly:  System (in System.dll)

public void AddBefore(
	LinkedListNode<T> node,
	LinkedListNode<T> newNode


Type: System.Collections.Generic.LinkedListNode<T>
The LinkedListNode<T> before which to insert newNode.
Type: System.Collections.Generic.LinkedListNode<T>
The new LinkedListNode<T> to add to the LinkedList<T>.


node is null.


newNode is null.


node is not in the current LinkedList<T>.


newNode belongs to another LinkedList<T>.

LinkedList<T> accepts null as a valid Value for reference types and allows duplicate values.

This method is an O(1) operation.

The following code example and output demonstrate the AddBefore method. The code example begins by marking the existing node containing "fox". The code then finds the node containing "dog" and attempts to use the AddBefore(LinkedListNode<T>, LinkedListNode<T>) method overload to add "fox" before "dog", without first removing "fox" from the list. This causes an InvalidOperationException, which is caught. The code example then removes "fox" and uses the AddBefore(LinkedListNode<T>, LinkedListNode<T>) method overload to add it before "dog". Finally, the code example removes "dog" and inserts it at the location formerly occupied by "fox".

This code and output are part of a larger example provided for the LinkedList<T> class.

// Remove the node referred to by mark1, and then add it
// before the node referred to by current.
// Indicate the node referred to by current.
sentence.AddBefore(current, mark1);

.NET Framework

Supported in: 4, 3.5, 3.0, 2.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Portable Class Library

Supported in: Portable Class Library

Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.