c# - How to add an item to the beginning of a list

Add an item to the beginning of a List
The List class represents a strongly typed list of objects. This class provides methods to search, sort, and manipulate lists. The List class is the generic equivalent of the ArrayList class. The list is not guaranteed to be sorted. Elements of a list can be accessed using an integer index and the indexes are zero-based. The list accepts null as a valid value for reference types and allows duplicate elements.

The following .net c# tutorial code demonstrates how we can add an item to the beginning of a List instance. But there is no direct method to add an item to the beginning of a list. So we have to apply a trick to achieve it. We will insert an item at the zero index position of a list that will add the item to the list beginning. Here we will use the List class Insert() method to add an item to the list first.

The List class Insert(Int32, T) method inserts an element into the List at the specified index. The List Insert(int index, T item) method has two parameters. The index parameter is the zero-based index at which the item should be inserted. And the item parameter is the object to insert. The value can be null for reference types.

The List class Insert(Int32, T) method throws ArgumentOutOfRangeException if the index is less than 0 or the index is greater than Count. So finally, using the List class Insert() method the .net c# developers can add an item to the list beginning by inserting the item at the 0 index position.
add-item-to-the-beginning-of-List.aspx

<%@ Page Language="C#" AutoEventWireup="true"%>  
  
<!DOCTYPE html>  
<script runat="server">  
    protected void Button1_Click(object sender, System.EventArgs e)  
    {
        List<string> birds = new List<string> { "Whooper Swan", "Hawaiian Goose", "Greylag Goose", "Northern Shoveler" };  
  
        Label1.Text = "birds.....<br /> ";  
        foreach (string s in birds)  
        {  
            Label1.Text += s + "<br />";  
        }

        birds.Insert(0, "Black Swan");
  
        Label1.Text += "<br />birds after addition.........<br />";  
        foreach (string s in birds)  
        {
            Label1.Text += s + "<br />";
        }  
    }  
</script>  
  
<html xmlns="http://www.w3.org/1999/xhtml">  
<head id="Head1" runat="server">  
    <title>c# example - add item to the beginning of List<T></title>  
</head>  
<body>  
    <form id="form1" runat="server">  
    <div>  
        <h2 style="color:DarkBlue; font-style:italic;">  
            c# example - add item to the beginning of List
        </h2>  
        <hr width="550" align="left" color="LightBlue" />    
  
        <asp:Label   
            ID="Label1"   
            runat="server"  
            Font-Size="Large"  
            >  
        </asp:Label>  
        <br />
        <asp:Button   
            ID="Button1"   
            runat="server"   
            Text="add item to the beginning of List<T>"  
            OnClick="Button1_Click"  
            Height="40"  
            Font-Bold="true"  
            />  
    </div>  
    </form>  
</body>  
</html>