ภาพรวม
StringBuilder.MaxCapacity คือขีดจำกัดสูงสุดของความจุ (ปกติ 2,147,483,647 = Int32.MaxValue) ไม่สามารถเปลี่ยนแปลงได้
ตัวอย่างที่ 1: ตรวจสอบ Capacity และ MaxCapacity ของ StringBuilder 4 แบบ
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("Is StringBuilder3 equal to StringBuilder2? = " + strBuilder3.Equals(strBuilder2));
Console.WriteLine("StringBuilder1 capacity = " + strBuilder1.Capacity);
Console.WriteLine("StringBuilder1 maximum capacity = " + strBuilder1.MaxCapacity);
Console.WriteLine("StringBuilder2 capacity = " + strBuilder2.Capacity);
Console.WriteLine("StringBuilder2 maximum capacity = " + strBuilder2.MaxCapacity);
Console.WriteLine("StringBuilder3 capacity = " + strBuilder3.Capacity);
Console.WriteLine("StringBuilder3 maximum capacity = " + strBuilder3.MaxCapacity);
Console.WriteLine("StringBuilder4 capacity = " + strBuilder4.Capacity);
Console.WriteLine("StringBuilder4 maximum capacity = " + strBuilder4.MaxCapacity);
}
}
ผลลัพธ์
Is StringBuilder3 equal to StringBuilder2? = True StringBuilder1 capacity = 16 StringBuilder1 maximum capacity = 2147483647 StringBuilder2 capacity = 16 StringBuilder2 maximum capacity = 2147483647 StringBuilder3 capacity = 16 StringBuilder3 maximum capacity = 2147483647 StringBuilder4 capacity = 5 StringBuilder4 maximum capacity = 2147483647
ตัวอย่างที่ 2: ตรวจสอบ Capacity, Length, MaxCapacity ของ StringBuilder เดียว
using System;
using System.Text;
public class Demo
{
public static void Main(String[] args)
{
StringBuilder strBuilder = new StringBuilder("Amy");
Console.WriteLine("StringBuilder capacity = " + strBuilder.Capacity);
Console.WriteLine("StringBuilder length = " + strBuilder.Length);
Console.WriteLine("StringBuilder maximum capacity = " + strBuilder.MaxCapacity);
}
}
ผลลัพธ์
StringBuilder capacity = 16 StringBuilder length = 3 StringBuilder maximum capacity = 2147483647
สรุป
MaxCapacityเป็นค่าคงที่ 2,147,483,647 (Int32.MaxValue) สำหรับทุก StringBuilderCapacityเพิ่มขึ้นอัตโนมัติเมื่อเกิน (ปกติคูณ 2) จนถึง MaxCapacityLength= จำนวนตัวอักษรจริงในขณะนั้น- ไม่สามารถตั้งค่า MaxCapacity เองได้