Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C#

การสร้าง StringBuilder ใน C#

ภาพรวม

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 16
  • new StringBuilder(string) - เริ่มต้นด้วยสตริง Capacity >= ความยาว
  • new StringBuilder(int capacity) - กำหนด Capacity เอง
  • new StringBuilder(string, capacity) - สตริงเริ่มต้น + Capacity
  • Equals() เปรียบเทียบ reference การกำหนด strBuilder2 = strBuilder3 ทำให้อ้างอิง instance เดียวกัน