LinkedList is a general-purpose linked list. It supports enumerators and implements the ICollection interface, consistent with other collection classes in the .NET Framework.
LinkedList provides separate nodes of type LinkedListNode, so insertion and removal are O(1) operations.
You can remove nodes and reinsert them, either in the same list or in another list, which results in no additional objects allocated on the heap. Because the list also maintains an internal count, getting the Count property is an O(1) operation.
Each node in a LinkedList object is of the type LinkedListNode. Because the LinkedList is doubly linked, each node points forward to the Next node and backward to the Previous node.
Lists that contain reference types perform better when a node and its value are created at the same time. LinkedList accepts a null reference (Nothing in Visual Basic) as a valid Value property for reference types and allows duplicate values.
If the LinkedList is empty, the First and Last properties contain a null reference (Nothing in Visual Basic).
The LinkedList class does not support chaining, splitting, cycles, or other features that can leave the list in an inconsistent state. The list remains consistent on a single thread. The only multithreaded scenario supported by LinkedList is multithreaded read operations.