Thuộc tính Length trả về số ký tự hiện tại đang chứa trong StringBuilder. Khác với Capacity, Length có thể thay đổi khi bạn thêm/xóa nội dung.
Ví dụ 1: Length của các instance khác nhau
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("Độ dài StringBuilder1 = " + strBuilder1.Length);
Console.WriteLine("Dung lượng StringBuilder2 = " + strBuilder2.Capacity);
Console.WriteLine("Dung lượng tối đa StringBuilder2 = " + strBuilder2.MaxCapacity);
Console.WriteLine("Độ dài StringBuilder2 = " + strBuilder2.Length);
Console.WriteLine("Dung lượng StringBuilder3 = " + strBuilder3.Capacity);
Console.WriteLine("Dung lượng tối đa StringBuilder3 = " + strBuilder3.MaxCapacity);
Console.WriteLine("Độ dài StringBuilder3 = " + strBuilder3.Length);
Console.WriteLine("Dung lượng StringBuilder4 = " + strBuilder4.Capacity);
Console.WriteLine("Dung lượng tối đa StringBuilder4 = " + strBuilder4.MaxCapacity);
Console.WriteLine("Độ dài StringBuilder4 = " + strBuilder4.Length);
}
}
Kết quả
StringBuilder3 có bằng StringBuilder2? = True Dung lượng StringBuilder1 = 16 Dung lượng tối đa StringBuilder1 = 2147483647 Độ dài StringBuilder1 = 3 Dung lượng StringBuilder2 = 16 Dung lượng tối đa StringBuilder2 = 2147483647 Độ dài StringBuilder2 = 0 Dung lượng StringBuilder3 = 16 Dung lượng tối đa StringBuilder3 = 2147483647 Độ dài StringBuilder3 = 0 Dung lượng StringBuilder4 = 5 Dung lượng tối đa StringBuilder4 = 2147483647 Độ dài StringBuilder4 = 0
Ví dụ 2: Chuỗi dài hơn dung lượng mặc định
using System;
using System.Text;
public class Demo
{
public static void Main(string[] args)
{
StringBuilder strBuilder1 = new StringBuilder("hbjhbkjhbm"); // 10 ký tự
StringBuilder strBuilder2 = new StringBuilder("TomHanks"); // 8 ký tự
StringBuilder strBuilder3 = new StringBuilder();
Console.WriteLine("Dung lượng StringBuilder1 = " + strBuilder1.Capacity);
Console.WriteLine("Độ dài StringBuilder1 = " + strBuilder1.Length);
Console.WriteLine("\nDung lượng StringBuilder2 = " + strBuilder2.Capacity);
Console.WriteLine("Độ dài StringBuilder2 = " + strBuilder2.Length);
Console.WriteLine("\nDung lượng StringBuilder3 = " + strBuilder3.Capacity);
Console.WriteLine("Độ dài StringBuilder3 = " + strBuilder3.Length);
}
}
Kết quả
Dung lượng StringBuilder1 = 16 Độ dài StringBuilder1 = 10 Dung lượng StringBuilder2 = 16 Độ dài StringBuilder2 = 8 Dung lượng StringBuilder3 = 16 Độ dài StringBuilder3 = 0
Lưu ý: Khi Length vượt quá Capacity, bộ nhớ sẽ tự động mở rộng.