Record và so sánh theo giá trị trong C#
Trong bài học này, bạn sẽ dùng record để biểu diễn dữ liệu bất biến một cách ngắn gọn và tạo bản sao có chỉnh sửa bằng biểu thức with.
Giới thiệu
Record là kiểu dữ liệu được thiết kế cho những đối tượng chủ yếu dùng để chứa dữ liệu. Chỉ với một dòng khai báo, record có sẵn hàm khởi tạo, các thuộc tính chỉ đọc và cách in đẹp. Đặc biệt, hai record được coi là bằng nhau khi các giá trị bên trong giống nhau.
Dòng record User(string Name, string Role) tạo ra một kiểu có hai thuộc tính Name và Role. Biểu thức original with { Role = "Lead" } tạo một bản sao chỉ thay đổi Role, còn original vẫn giữ nguyên giá trị Developer. Khi in ra, record tự hiển thị nội dung dưới dạng User { Name = Ada, Role = Lead }.
Ví dụ C# chạy được
using System;
record User(string Name, string Role);
class Program
{
static void Main()
{
var original = new User("Ada", "Developer");
var promoted = original with { Role = "Lead" };
Console.WriteLine(promoted);
}
}
User { Name = Ada, Role = Lead }Luyện tập với trình gỡ lỗi
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