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
using System;
class Program
{
static void Main()
{
string? nickname = null;
string displayName = nickname ?? "Anonymous";
Console.WriteLine($"{displayName} ({displayName.Length})");
}
}
Anonymous (9)