ภาพรวม
StringBuilder ใน System.Text ใช้สร้าง/แก้ไขสตริงได้อย่างมีประสิทธิภาพ (mutable) มีคอนสตรัคเตอร์หลายแบบ
ตัวอย่างที่ 1: สร้าง 2 StringBuilder และเปรียบเทียบ
using System;
using System.Text;
public class Demo
{
public static void Main(String[] args)
{
StringBuilder strBuilder1 = new StringBuilder("Tim");
StringBuilder strBuilder2 = new StringBuilder("Tom");
Console.WriteLine("Is StringBuilder1 equal to StringBuilder2? = " + strBuilder1.Equals(strBuilder2));
}
}
ผลลัพธ์
Is StringBuilder1 equal to StringBuilder2? = False
ตัวอย่างที่ 2: สร้างหลายแบบ และตรวจสอบ Capacity
using System;
using System.Text;
public class Demo
{
public static void Main(String[] args)
{
StringBuilder strBuilder1 = new StringBuilder("John");
StringBuilder strBuilder2 = new StringBuilder("John");
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("StringBuilder2 capacity = " + strBuilder2.Capacity);
Console.WriteLine("StringBuilder3 capacity = " + strBuilder3.Capacity);
Console.WriteLine("StringBuilder4 capacity = " + strBuilder4.Capacity);
}
}
ผลลัพธ์
Is StringBuilder3 equal to StringBuilder2? = True StringBuilder1 capacity = 16 StringBuilder2 capacity = 16 StringBuilder3 capacity = 16 StringBuilder4 capacity = 5
สรุป
new StringBuilder()- ว่าง Capacity 16new StringBuilder(string)- เริ่มต้นด้วยสตริง Capacity >= ความยาวnew StringBuilder(int capacity)- กำหนด Capacity เองnew StringBuilder(string, capacity)- สตริงเริ่มต้น + Capacity- Equals() เปรียบเทียบ reference การกำหนด strBuilder2 = strBuilder3 ทำให้อ้างอิง instance เดียวกัน