Câu hỏi phỏng vấn C#
Câu hỏi

Tại sao cần sử dụng IDisposable interface trong C#?

Câu trả lời

Trong C#, IDisposable interface được sử dụng để giải phóng các tài nguyên không quản lý một cách rõ ràng và có kiểm soát. Việc sử dụng IDisposable giúp ngăn chặn việc rò rỉ tài nguyên và tối ưu hóa hiệu suất ứng dụng bằng cách đảm bảo rằng tài nguyên không quản lý được giải phóng đúng cách khi không còn cần thiết nữa.

Tài nguyên không quản lý là gì?

Tài nguyên không quản lý bao gồm các tài nguyên như bộ nhớ, handles của file, kết nối mạng hoặc cơ sở dữ liệu, và các tài nguyên hệ thống khác mà .NET runtime không tự động giải phóng. Trong khi .NET runtime cung cấp một bộ thu gom rác (Garbage Collector - GC) để tự động giải phóng bộ nhớ của các đối tượng quản lý, GC không thể tự động giải phóng tài nguyên không quản lý.

Cách sử dụng IDisposable

IDisposable interface chỉ chứa một phương thức duy nhất là Dispose(), mà bạn cần triển khai để giải phóng tài nguyên không quản lý. Khi một lớp triển khai IDisposable, bạn nên gọi phương thức Dispose() của nó khi đối tượng không còn được sử dụng nữa, thường là sử dụng cấu trúc using để đảm bảo Dispose() được gọi tự động.

csharp Copy
public class MyResource : IDisposable
{
    // Giả sử...
middle

middle

Gợi ý câu hỏi phỏng vấn

senior

Việc đóng gói được thực hiện như thế nào trong C#?

middle

Sự khác biệt giữa biến kiểu dynamic và biến kiểu object trong C# là gì?

middle

Phạm vi của biến thành viên Internal của một lớp C# là gì?

Bình luận

Chưa có bình luận nào

Chưa có bình luận nào