How to find the Capacity of a StringBuilder in C#
StringBuilder.Capacity Property is used to get or set the maximum number of characters that can be contained in the memory allocated by the current instance.
Syntax: public int Capacity { get; set; }
Return Value: This property will return 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.
Exception: This property will give ArgumentOutOfRangeException if the value specified for a set operation is less than the current length of this instance or the value specified for a set operation is greater than the maximum capacity.
Below programs will illustrate the use of the above-discussed property:
Example 1:
csharp
// C# program to demonstrate // the Capacity() Property using System; using System.Text; class GFG { // Main Method public static void Main(String[] args) { // create a StringBuilder object, // default capacity will be 16 StringBuilder str = new StringBuilder(); // get default capacity int cap = str.Capacity; Console.WriteLine( "Default Capacity of StringBuilder = " + cap); // add the String to StringBuilder Object str.Append( "Geek" ); // get capacity cap = str.Capacity; // print the result Console.WriteLine( "StringBuilder = " + str); Console.WriteLine( "Current Capacity of StringBuilder = " + cap); } } |
Output:
Capacity of StringBuilder = 16 StringBuilder = Geek Current Capacity of StringBuilder = 16
Example 2:
csharp
// C# program to demonstrate // the Capacity() Property using System; using System.Text; class GFG { public static void Main(String[] args) { // create a StringBuilder object // with a String passed as parameter StringBuilder str = new StringBuilder( "WelcomeGeeks" ); // get capacity int capacity = str.Capacity; // print the result Console.WriteLine( "StringBuilder = " + str); Console.WriteLine( "Capacity of StringBuilder = " + capacity); } } |
Output:
StringBuilder = WelcomeGeeks Capacity of StringBuilder = 16
Reference:
Please Login to comment...