Để xác định dung lượng hiện tại của một đối tượng StringBuilder trong C#, bạn sử dụng thuộc tính Capacity. Dung lượng là số ký tự tối đa mà đối tượng có thể chứa trước khi cần mở rộng bộ nhớ.
Ví dụ 1: Kiểm tra Capacity mặc định
using System;
using System.Text;
public class Demo
{
public static void Main(string[] args)
{
StringBuilder strBuilder1 = new StringBuilder("Tim");
StringBuilder strBuilder2 = new StringBuilder("Tom");
StringBuilder strBuilder3 = new StringBuilder();
Console.WriteLine("Dung lượng StringBuilder1 = " + strBuilder1.Capacity);
Console.WriteLine("Dung lượng StringBuilder2 = " + strBuilder2.Capacity);
Console.WriteLine("Dung lượng StringBuilder3 = " + strBuilder3.Capacity);
strBuilder2 = strBuilder3;
Console.WriteLine("StringBuilder3 có bằng StringBuilder2? = " + strBuilder3.Equals(strBuilder2));
}
}
Kết quả
Dung lượng StringBuilder1 = 16 Dung lượng StringBuilder2 = 16 Dung lượng StringBuilder3 = 16 StringBuilder3 có bằng StringBuilder2? = True
Ví dụ 2: Khởi tạo với dung lượng tùy chỉnh
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); // Chỉ định dung lượng ban đầu = 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 StringBuilder2 = " + strBuilder2.Capacity);
Console.WriteLine("Dung lượng StringBuilder3 = " + strBuilder3.Capacity);
Console.WriteLine("Dung lượng StringBuilder4 = " + strBuilder4.Capacity);
}
}
Kết quả
StringBuilder3 có bằng StringBuilder2? = True Dung lượng StringBuilder1 = 16 Dung lượng StringBuilder2 = 16 Dung lượng StringBuilder3 = 16 Dung lượng StringBuilder4 = 5
Lưu ý: Dung lượng mặc định là 16. Khi nội dung vượt quá dung lượng, mảng nội bộ sẽ tự động mở rộng (thường gấp đôi).