Bài tập C#

Hiển thị hồ sơ người dùng có dữ liệu tùy chọn trong C#

Trong bài học này, bạn sẽ hiển thị thông tin hồ sơ người dùng một cách an toàn khi một số trường có thể không có dữ liệu.

Giới thiệu

Trong thực tế, nhiều thông tin của người dùng là tùy chọn, ví dụ biệt danh. Kiểu nullable cùng các toán tử xử lý null của C# giúp thể hiện rõ dữ liệu nào có thể thiếu và xử lý trường hợp đó một cách gọn gàng.

Trường Nickname có kiểu string? nên có thể là null. Toán tử ?. chỉ gọi ToUpperInvariant() khi Nickname có giá trị, nếu không thì cả biểu thức trả về null. Khi đó, toán tử ?? dùng tên thật làm giá trị thay thế, nên kết quả in ra là Ada.

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

C#
Chạy code →
Program.cs
using System;
record Profile(string Name, string? Nickname);
class Program
{
    static void Main()
    {
        var profile = new Profile("Ada", null);
        Console.WriteLine(profile.Nickname?.ToUpperInvariant() ?? profile.Name);
    }
}
Kết quả khi chạy
Ada

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.