c# - How to insert a string into a StringBuilder

Insert a String into a StringBuilder
The StringBuilder class represents a mutable String of characters. The StringBuilder class cannot be inherited. The StringBuilder class represents a String-like object whose value is a mutable sequence of characters.

The following .net c# tutorial code demonstrates how we can insert a String into a StringBuilder instance. That means we will insert a String into a StringBuilder object’s specified index position. In this .net c# tutorial code we will use the StringBuilder class Insert() method to insert a String to a specified index position of a StringBuilder object.

The StringBuilder Insert() method inserts the String representation of a specified object into this instance at a specified character position. The StringBuilder Insert(Int32, String) method overload inserts a String into this instance at the specified character position. So, using this method we can insert a String at the specified index of a StringBuilder instance.

The StringBuilder Insert(int index, string? value) method has two parameters, those are index and value. The index is an Int32 which is the position in this instance where insertion begins. And the value is the String to insert. This method returns a StringBuilder which is a reference to this instance after the insert operation has been completed.

The StringBuilder Insert(int index, string? value) method throws ArgumentOutOfRangeException if the index is less than zero or greater than the current length of this instance or the current length of this StringBuilder object plus the length of value exceeds MaxCapacity.

When applying the Insert(Int32, String) method the existing characters are shifted to make room for the new text. The capacity is adjusted as needed. This instance of StringBuilder is not changed if the value is null, or the value is not null but its length is zero.

So finally, using the StringBuilder class Insert(Int32, String) method the .net c# developers can insert a String at the specified index position of a StringBuilder instance.
stringbuilder-insert.aspx

<%@ Page Language="C#" AutoEventWireup="true"%>
  
<!DOCTYPE html>
  
<script runat="server"> 
    protected void Button1_Click(object sender, System.EventArgs e)  
    {
        StringBuilder stringb = new StringBuilder();

        stringb.Append(" Red");

        //insert a boolean value at index 0. first of stringbuilder.
        stringb.Insert(0, true);
        stringb.Insert(0, "\t"); //insert a tab here

        //insert a char value at index 0.
        stringb.Insert(0, 'A');
        stringb.Insert(0, "\t"); //insert a tab here

        //insert a double value at index 0.
        stringb.Insert(0, 25.05);
        stringb.Insert(0, "\t"); //insert a tab here

        //insert a float value at index 0.
        stringb.Insert(0, 5.99f);
        stringb.Insert(0, "\t"); //insert a tab here

        //insert a int value at index 0.
        stringb.Insert(0, 100);
        stringb.Insert(0, "\t"); //insert a tab here

        //insert a string value at index 0.
        stringb.Insert(0, "green");

        //insert a string value at index 5.
        stringb.Insert(5, ".......");

        Label1.Text = stringb.ToString();
    }  
</script>  
  
<html xmlns="http://www.w3.org/1999/xhtml">  
<head id="Head1" runat="server">  
    <title>c# example - stringbuilder insert</title>  
</head>  
<body>  
    <form id="form1" runat="server">  
    <div>  
        <h2 style="color:MidnightBlue; font-style:italic;">  
            c# example - stringbuilder insert
        </h2>  
        <hr width="550" align="left" color="Gainsboro" />  
        <br />  
        <asp:Label   
            ID="Label1"   
            runat="server"  
            Font-Size="Large"  
            >  
        </asp:Label>  
        <br /><br /><br />
        <asp:Button   
            ID="Button1"   
            runat="server"   
            Text="stringbuilder insert"  
            OnClick="Button1_Click"
            Height="40"  
            Font-Bold="true"  
            />  
    </div>  
    </form>  
</body>  
</html>
More c# examples