C# | Creating StringBuilder having specified capacity
StringBuilder(Int32) constructor is used to initialize a new instance of the StringBuilder class which will be empty and will have the specified initial capacity. StringBuilder is used to represent a mutable string of characters. Mutable means the string which can be changed. So String objects are immutable but StringBuilder is the mutable string type. It will not create a new modified instance of the current string object but do the modifications in the existing string object.
Syntax:
public StringBuilder (int capacity);
Here, capacity is the starting size of the StringBuilder instance. If the number of characters which is to be stored becomes greater than the specified capacity then the StringBuilder object will dynamically allocate the memory to store them.
Exception: This will give ArgumentOutOfRangeException if the capacity is less than zero.
Example 1:
// C# Program to illustrate how // to create a StringBuilder having // specified initial capacity using System; using System.Text; using System.Collections; class Beginner { // Main Method public static void Main(String[] args) { // sb is the StringBuilder object // StringBuilder(10) is the constructor // used to initializes a new // instance of the StringBuilder class // having 10 as capacity StringBuilder sb = new StringBuilder(10); Console.Write( "Capacity of StringBuilder: " ); // using capacity property Console.WriteLine(sb.Capacity); } } |
Capacity of StringBuilder: 10
Example 2: For ArgumentOutOfRangeException
// C# Program to illustrate how // to create a StringBuilder having // specified initial capacity using System; using System.Text; using System.Collections; class Beginner { // Main Method public static void Main(String[] args) { // sb is the StringBuilder object // taking capacity less than zero StringBuilder sb = new StringBuilder(-4); // using capacity property Console.WriteLine(sb.Capacity); } } |
Runtime Error:
Unhandled Exception:
System.ArgumentOutOfRangeException: ‘capacity’ must be greater than zero.
Parameter name: capacity
Reference:
- https://docs.microsoft.com/en-us/dotnet/api/system.text.stringbuilder.-ctor?view=netframework-4.7.2#System_Text_StringBuilder__ctor_System_Int32_
Contact Us