Thuộc tính MaxCapacity của StringBuilder trả về dung lượng tối đa mà đối tượng có thể đạt đến (thường là Int32.MaxValue, tức 2.147.483.647). Dung lượng này được thiết lập khi khởi tạo và không thể thay đổi.
Ví dụ 1: Kiểm tra MaxCapacity của nhiều instance
using System;
using System.Text;
public class Demo
{
public static void Main(string[] args)
{
StringBuilder strBuilder1 = new StringBuilder("Amy");
StringBuilder strBuilder2 = new StringBuilder("Katie");
StringBuilder strBuilder3 = new StringBuilder();
StringBuilder strBuilder4 = new StringBuilder(5);
strBuilder2 = strBuilder3;
Console.WriteLine("StringBuilder3 có bằng StringBuilder2? = " + strBuilder3.Equals(strBuilder2));
Console.WriteLine("Dung lượng StringBuilder1 = " + strBuilder1.Capacity);
Console.WriteLine("Dung lượng tối đa StringBuilder1 = " + strBuilder1.MaxCapacity);
Console.WriteLine("Dung lượng StringBuilder2 = " + strBuilder2.Capacity);
Console.WriteLine("Dung lượng tối đa StringBuilder2 = " + strBuilder2.MaxCapacity);
Console.WriteLine("Dung lượng StringBuilder3 = " + strBuilder3.Capacity);
Console.WriteLine("Dung lượng tối đa StringBuilder3 = " + strBuilder3.MaxCapacity);
Console.WriteLine("Dung lượng StringBuilder4 = " + strBuilder4.Capacity);
Console.WriteLine("Dung lượng tối đa StringBuilder4 = " + strBuilder4.MaxCapacity);
}
}
Kết quả
StringBuilder3 có bằng StringBuilder2? = True Dung lượng StringBuilder1 = 16 Dung lượng tối đa StringBuilder1 = 2147483647 Dung lượng StringBuilder2 = 16 Dung lượng tối đa StringBuilder2 = 2147483647 Dung lượng StringBuilder3 = 16 Dung lượng tối đa StringBuilder3 = 2147483647 Dung lượng StringBuilder4 = 5 Dung lượng tối đa StringBuilder4 = 2147483647
Ví dụ 2: So sánh Capacity, Length và MaxCapacity
using System;
using System.Text;
public class Demo
{
public static void Main(string[] args)
{
StringBuilder strBuilder = new StringBuilder("Amy");
Console.WriteLine("Dung lượng = " + strBuilder.Capacity);
Console.WriteLine("Độ dài = " + strBuilder.Length);
Console.WriteLine("Dung lượng tối đa = " + strBuilder.MaxCapacity);
}
}
Kết quả
Dung lượng = 16 Độ dài = 3 Dung lượng tối đa = 2147483647
Giải thích: Length là số ký tự thực tế, Capacity là bộ nhớ đã cấp phát, MaxCapacity là giới hạn lý thuyết.