C# Linked List - c# - c# tutorial - c# net



What is Linkedlist in C# ?

  • C# LinkedList<T> class uses the concept of linked list.
  • It allows us to insert and delete elements fastly.
  • It can have duplicate elements.
  • It is found in System.Collections.Generic namespace.
  • It allows us to add and remove element at before or last index.
 Linked List

Linked List

Constructors:

Name Description
LinkedList<T>() Initializes a new instance of the LinkedList<T> class that is empty.
LinkedList<T>(IEnumerable<T>) Initializes a new instance of the LinkedList<T>
class that contains elements copied from the specified
IEnumerable and has sufficient capacity
to accommodate the number of elements copied.
LinkedList<T>(SerializationInfo, StreamingContext) Initializes a new instance of the LinkedList<T>
class that is serializable with the specified SerializationInfo and StreamingContext.

Properties:

Name Description
Count Gets the number of nodes actually contained in the LinkedList<T>
First Gets the first node of the LinkedList<T>.
Last Gets the last node of the LinkedList<T>.

C# LinkedList<T> example

  • Let's see an example of generic LinkedList<T> class that stores elements using AddLast() and AddFirst() methods and iterates elements using for-each loop
using System;  
using System.Collections.Generic;  
  
public class LinkedListExample  
{  
    public static void Main(string[] args)  
    {  
        // Create a list of strings  
        var names = new LinkedList<string>();  
        names.AddLast("Sonoo Jaiswal");  
        names.AddLast("Ankit");  
        names.AddLast("Peter");  
        names.AddLast("Irfan");  
        names.AddFirst("John");//added to first index  
 
        // Iterate list element using foreach loop  
        foreach (var name in names)  
        {  
           Console.WriteLine(name);  
        }  
    }  
}  

C# examples - Output :

John
Sonoo Jaiswal
Ankit
Peter
Irfan
  • Note: Unlike List, you cannot create LinkedList using Collection initializer.

C# LinkedList<T> example 2

  • Let's see another example of generic LinkedList<T> class that stores elements before and after specific node. To get the specific node, we are calling Find() method.
using System;  
using System.Collections.Generic;  
  
public class LinkedListExample  
{  
    public static void Main(string[] args)  
    {  
       // Create a list of strings  
        var names = new LinkedList<string>();  
        names.AddLast("Sonoo");  
        names.AddLast("Ankit");  
        names.AddLast("Peter");  
        names.AddLast("Irfan");  
          
        //insert new element before "Peter"  
        LinkedListNode<String> node=names.Find("Peter");  
        names.AddBefore(node, "John");  
        names.AddAfter(node, "Lucy");  
  
        // Iterate list element using foreach loop  
        foreach (var name in names)  
        {  
            Console.WriteLine(name);  
        }  
    }  
}  

C# examples - Output :

Sonoo
Ankit
John
Peter
Lucy
Irfan
  • As you can see in the above output "John" and "Lucy" are added before and after "Peter".

Related Searches to C# Linked List