Các chủ đề C# quan trọng

Giải phóng tài nguyên với IDisposable và using trong C#

Trong bài học này, bạn sẽ dùng khai báo using để đảm bảo tài nguyên luôn được giải phóng đúng lúc, kể cả khi có lỗi xảy ra.

Giới thiệu

Bộ nhớ trong .NET được bộ thu gom rác (garbage collector) tự động thu hồi, nhưng các tài nguyên như file, kết nối mạng hay kết nối cơ sở dữ liệu nên được giải phóng ngay khi dùng xong. Những đối tượng này cài đặt interface IDisposable với phương thức Dispose để giải phóng tài nguyên.

Khai báo using var writer đảm bảo phương thức Dispose của writer được gọi tự động khi chương trình ra khỏi phạm vi chứa nó, kể cả khi có ngoại lệ xảy ra giữa chừng. Nhờ vậy bạn không cần tự viết khối try/finally để dọn dẹp tài nguyên.

Ví dụ C# chạy được

C#
Chạy code →
Program.cs
using System;
using System.IO;

class Program
{
    static void Main()
    {
        using var writer = new StringWriter();
        writer.Write("resource-safe output");
        Console.WriteLine(writer.ToString());
    }
}
Kết quả khi chạy
resource-safe output

Luyện tập với trình gỡ lỗi

Đặt breakpoint ở một phép gán hoặc điều kiện quan trọng, bấm Debug và xem giá trị các biến cục bộ (local variable) trước khi bước sang dòng tiếp theo.

Luyện tập với thử thách

Áp dụng kiến thức của bài học này để giải một bài toán thực tế. Mỗi thử thách chạy ngay trên trình duyệt, có kiểm thử tức thì và AI nhận xét.

Tất cả thử thách