Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> C#

Cách tìm độ dài (Length) của StringBuilder trong C#

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.