StringBuilder trong C#

StringBuilder là gì, khi nào làm phần mềm thực tế trong CSharp ta nên sử dụng ?

  1. Định nghĩa StringBuilder trong CSharp
  2. Lý do cần StringBuilder trong CSharp
  3. Cách sử dụng StringBuilder
  4. Một số phương thức hữu ích của StringBuilder
  5. Một số ví dụ đầy đủ về StringBuilder trong CSharp
  6. Khi nào làm phần mềm thực tế bạn nên dùng StringBuilder?

1. Định nghĩa StringBuilder trong CSharp

Trong C#, StringBuilder là một lớp thuộc namespace System.Text được thiết kế để xử lý chuỗi (string) hiệu quả hơn so với kiểu string thông thường, đặc biệt là trong các thao tác nối chuỗi lặp đi lặp lại.

2. Lý do cần StringBuilder trong CSharp

Trong C#, kiểu string là immutable (bất biến), nghĩa là:
    Mỗi khi bạn nối chuỗi (str += "abc";), một chuỗi mới được tạo ra trong bộ nhớ.
    Việc này làm tốn bộ nhớ và ảnh hưởng hiệu suất khi xử lý nhiều chuỗi.

➡️ StringBuilder khắc phục điều này bằng cách làm việc với vùng nhớ động, cho phép thay đổi nội dung mà không tạo mới đối tượng mỗi lần.

3. Cách sử dụng StringBuilder

✅ Khai báo và thêm nội dung:

using System.Text;
StringBuilder sb = new StringBuilder();
sb.Append("Xin chào ");
sb.Append("bạn ");
sb.Append("Nhật!");


✅ In ra chuỗi hoàn chỉnh:

Console.WriteLine(sb.ToString());

4. Một số phương thức hữu ích của StringBuilder

Phương thức Chức năng
Append(string) Thêm chuỗi vào cuối
AppendLine() Thêm dòng mới
Insert(index, str) Chèn chuỗi vào vị trí chỉ định
Remove(start, len) Xóa chuỗi từ vị trí bắt đầu, độ dài cho trước
Replace(old, new) Thay thế chuỗi con
Clear() Xóa toàn bộ nội dung

 

5. Một số ví dụ đầy đủ về StringBuilder trong CSharp

using System;
using System.Text;
class Program
{
    static void Main()
    {
        StringBuilder sb = new StringBuilder();
        sb.Append("Xin chào");
        sb.AppendLine(" thế giới!");
        sb.Insert(9, " lập trình viên");
        sb.Replace("thế giới", "C#");

        Console.WriteLine(sb.ToString());
    }
}

🟢 Kết quả:

Xin chào lập trình viên C#!

6. Khi nào làm phần mềm thực tế bạn nên dùng StringBuilder?

    Khi cần nối chuỗi nhiều lần trong vòng lặp.
    Khi cần hiệu suất tốt hơn trong thao tác chuỗi lớn.

Tìm kiếm:

Bài viết liên quan:

StringBuilder là gì, khi nào làm phần mềm thực tế trong CSharp ta nên sử dụng ?