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.
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.
✅ 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!");
Console.WriteLine(sb.ToString());
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 |
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#!
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:
StringBuilder là gì, khi nào làm phần mềm thực tế trong CSharp ta nên sử dụng ?