Tăng tốc xử lý bằng String Builder

1. Hoạt động của string và string builder

Giống như java trong c# cũng có kiểu dữ liệu string và stringbuilder để xử lý chuỗi. Vậy 2 kiểu dữ liệu này khác nhau như nào và khi nào thì stringbuilder sẽ nhanh hơn string.

  • Xét ví dụ với string

Khi chạy đoạn code trên thực chất chuỗi trong biến temp không được thay đổi mà 1 chuỗi mới sẽ được tạo ra và gán cho biến temp. Như vậy bộ nhớ mới sẽ được dùng và mất thời gian tạo instance string mới

  • Với String builder việc lưu trữ dư liệu bằng mảng ký tự. Vì thế bộ nhớ chỉ cân lưu chính xác phần chuỗi cần thêm vào chứ không phải tạo 1 chuỗi mới hoàn toàn như string
2. Khi nào String builder nhanh hơn string

Khi đã hiểu cách hoạt động của 2 loại dữ liệu thì dễ thấy khi có nối ghép chuỗi nhiều lần thì string builder sẽ cho hiệu suất cao hơn. Còn với nhưng thao tác khác (in ra chuỗi, khởi tạo..) thì 2 loại dữ liệu này gần như giống nhau

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *