c# - How to get the capacity of a StringBuilder

Get the capacity of 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 get the capacity of a StringBuilder instance. In this .net c# tutorial code we will get the capacity of a StringBuilder instance in various stages.

Such as we get the capacity of a StringBuilder instance initially after appending some text, then again we append some text on it and get the current capacity of the StringBuilder instance. Again we append some text on the StringBuilder instance and get the current capacity of the StringBuilder instance after appending the text. We also get the StringBuilder instance length simultaneously with capacity. Here we will use the StringBuilder class Capacity, and Length properties.

The StringBuilder Length property gets or sets the length of the current StringBuilder object. The StringBuilder Capacity property gets or sets the maximum number of characters that can be contained in the memory allocated by the current instance.

The StringBuilder Capacity property value is an Int32 which is the maximum number of characters that can be contained in the memory allocated by the current instance. Its value can range from Length to MaxCapacity. So finally, using the StringBuilder class Capacity property .net developers can get the capacity of a StringBuilder instance.
stringbuilder-capacity.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 Lory. ");

        Label1.Text = stringb.ToString();
        Label1.Text += "<br />stringbuilder length: " + stringb.Length + " | capacity: " + stringb.Capacity;

        stringb.Append("Pallid Swift. ");

        Label1.Text += "<br /><br />" + stringb.ToString();
        //stringbuilder doubles its capacity
        Label1.Text += "<br />stringbuilder length: " + stringb.Length + " | capacity: " + stringb.Capacity;

        stringb.Append("Rufous Piculet. ");
        stringb.Append("Cardinal Woodpecker");

        Label1.Text += "<br /><br />" + stringb.ToString();
        //stringbuilder doubles its capacity
        Label1.Text += "<br />stringbuilder length: " + stringb.Length + " | capacity: " + stringb.Capacity;
    }  
</script>  
  
<html xmlns="http://www.w3.org/1999/xhtml">  
<head id="Head1" runat="server">  
    <title>c# example - stringbuilder capacity</title>  
</head>  
<body>  
    <form id="form1" runat="server">  
    <div>  
        <h2 style="color:MidnightBlue; font-style:italic;">  
            c# example - stringbuilder capacity
        </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 capacity"  
            OnClick="Button1_Click"
            Height="40"  
            Font-Bold="true"  
            />  
    </div>  
    </form>  
</body>  
</html>
More c# examples