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

Cách tìm dung lượng (Capacity) của StringBuilder trong C#

Để 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).