C# | Adding new node or value at the start of LinkedList<T> - GeeksforGeeks

01 Feb, 2019
LinkedList<T>.AddFirst Method is used to add a new node or value at the starting of the LinkedList<T>. There are 2 methods in the overload list of this method as follows:
AddFirst(LinkedList<T>)AddFirst(T)
AddFirst(LinkedList<T>)
AddFirst(T)
This method is used to add the specified new node at the starting of the LinkedList<T>.
Syntax:
public void AddFirst (System.Collections.Generic.LinkedListNode<T> node);

Here, node is the new LinkedListNode<T> to add at the start of the LinkedList<T>.
Exceptions:
ArgumentNullException : If the node is null.
InvalidOperationException : If the node belongs to another LinkedList<T>.
Example:
// C# code to add new node// at the start of LinkedListusing System;using System.Collections;using System.Collections.Generic;  class GFG {      // Driver code    public static void Main()    {        // Creating a LinkedList of Integers        LinkedList<int> myList = new LinkedList<int>();          // Adding nodes in LinkedList        myList.AddLast(2);        myList.AddLast(4);        myList.AddLast(6);        myList.AddLast(6);        myList.AddLast(6);        myList.AddLast(8);          // To get the count of nodes in LinkedList        // before removing all the nodes        Console.WriteLine("Total nodes in myList are : " + myList.Count);          // Displaying the nodes in LinkedList        foreach(int i in myList)        {            Console.WriteLine(i);        }          // Adding new node at the start of LinkedList        // This will give error as node is null        myList.AddFirst(5);          // To get the count of nodes in LinkedList        // after removing all the nodes        Console.WriteLine("Total nodes in myList are : " + myList.Count);          // Displaying the nodes in LinkedList        foreach(int i in myList)        {            Console.WriteLine(i);        }    }}
Output:
Total nodes in myList are : 6246668
Unhandled Exception:System.ArgumentNullException: Value cannot be null.Parameter name: node
Note:
LinkedList<T> accepts null as a valid Value for reference types and allows duplicate values.
If the LinkedList<T> is empty, the new node becomes the First and the Last.
This method is an O(1) operation.
This method is used to add a new node containing the specified value at the start of the LinkedList<T>.
Syntax:
public System.Collections.Generic.LinkedListNode AddFirst (T value);

Here, value is the value to add at the start of the LinkedList<T>.
Return Value: The new LinkedListNode<T> containing value.
Example:
// C# code to add new node containing// the specified value at the start// of LinkedListusing System;using System.Collections;using System.Collections.Generic;  class GFG {      // Driver code    public static void Main()    {        // Creating a LinkedList of Integers        LinkedList<int> myList = new LinkedList<int>();          // Adding nodes in LinkedList        myList.AddLast(2);        myList.AddLast(4);        myList.AddLast(6);        myList.AddLast(6);        myList.AddLast(6);        myList.AddLast(8);          // To get the count of nodes in LinkedList        // before removing all the nodes        Console.WriteLine("Total nodes in myList are : " + myList.Count);          // Displaying the nodes in LinkedList        foreach(int i in myList)        {            Console.WriteLine(i);        }          // Adding new node containing the        // specified value at the start of LinkedList        myList.AddFirst(20);          // To get the count of nodes in LinkedList        // after removing all the nodes        Console.WriteLine("Total nodes in myList are : " + myList.Count);          // Displaying the nodes in LinkedList        foreach(int i in myList)        {            Console.WriteLine(i);        }    }}
Output:
Total nodes in myList are : 6
2
4
6
6
6
8
Total nodes in myList are : 7
20
2
4
6
6
6
8

Note:
LinkedList<T> accepts null as a valid Value for reference types and allows duplicate values.
If the LinkedList<T> is empty, the new node becomes the First and the Last.
This method is an O(1) operation.
Reference:
https://docs.microsoft.com/en-us/dotnet/api/system.collections.generic.linkedlist-1.addfirst?view=netframework-4.7.2
CSharp-Generic-Namespace
CSharp-LinkedList
CSharp-LinkedList-Methods
C#
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
Comments
Old Comments
Top 50 C# Interview Questions & Answers
Extension Method in C#
HashSet in C# with Examples
Partial Classes in C#
C# | Inheritance
Convert String to Character Array in C#
Linked List Implementation in C#
C# | How to insert an element in an Array?
C# | List Class
Difference between Hashtable and Dictionary in C#