Garbage Collector (GC) quản lý việc cấp phát và giải phóng bộ nhớ. GC đóng vai trò như một trình quản lý bộ nhớ tự động.
- Bạn không cần biết cách cấp phát/giải phóng bộ nhớ hay quản lý vòng đời đối tượng sử dụng bộ nhớ đó.
- Một lần cấp phát xảy ra mỗi khi bạn khai báo đối tượng với từ khóa "new" hoặc một kiểu giá trị bị boxing. Cấp phát thường rất nhanh.
- Khi không đủ bộ nhớ để cấp phát đối tượng, GC phải thu gom và xử lý bộ nhớ rác để giải phóng không gian cho cấp phát mới.
- Quá trình này gọi là garbage collection (thu gom rác).
Garbage Collection trong C# có các ưu điểm sau:
- Không cần giải phóng bộ nhớ thủ công khi phát triển ứng dụng.
- Cấp phát đối tượng trên managed heap hiệu quả.
- Khi đối tượng không còn được dùng, GC thu hồi bộ nhớ của chúng, giữ sẵn cho cấp phát sau.
- Managed objects tự động có nội dung sạch khi khởi tạo, constructor không cần khởi tạo mọi trường dữ liệu.