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

Kiểu tham chiếu nullable trong C#

Trong bài học này, bạn sẽ dùng kiểu tham chiếu nullable để trình biên dịch giúp phát hiện những chỗ có thể gặp giá trị null.

Giới thiệu

Lỗi NullReferenceException xảy ra khi bạn truy cập một biến đang mang giá trị null, và đây là một trong những lỗi phổ biến nhất. C# cho phép đánh dấu rõ ràng biến nào được phép null bằng dấu ?, ví dụ string?. Khi đó, trình biên dịch sẽ cảnh báo nếu bạn dùng biến đó mà chưa kiểm tra null.

Biến nickname có kiểu string? nên được phép mang giá trị null. Toán tử ?? (null-coalescing) trả về "Anonymous" nếu nickname là null, vì vậy displayName luôn có giá trị và việc truy cập Length là an toàn. Kết quả in ra là Anonymous (9).

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

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

class Program
{
    static void Main()
    {
        string? nickname = null;
        string displayName = nickname ?? "Anonymous";
        Console.WriteLine($"{displayName} ({displayName.Length})");
    }
}
Kết quả khi chạy
Anonymous (9)

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.