Các cấu trúc của C # giống như một sự thay thế nhẹ, nhưng mạnh mẽ cho các lớp. Tìm hiểu cách sử dụng kiểu dữ liệu tiện dụng này.
Trong C #, hai loại kiểu chính là kiểu giá trị (chẳng hạn như cấu trúc) và kiểu tham chiếu (chẳng hạn như lớp). Bởi vì một cấu trúc (hoặc struct) là một kiểu giá trị, nó là trung tâm của dữ liệu.
Một cấu trúc có thể lưu trữ các thuộc tính và các phương thức liên quan, tốt hơn là không tập trung vào hành vi.
Cách khai báo cấu trúc
Mỗi khai báo struct phải có cấu trúc từ khóa. Bắt đầu từ khóa struct bằng một công cụ sửa đổi quyền truy cập và bao gồm tên và một cặp dấu ngoặc nhọn sau nó. Đây là cách khai báo một cấu trúc có tên là Trò chơi:
public struct Game {}
Làm thế nào để điền một cấu trúc
Một cấu trúc lưu trữ dữ liệu trong dấu ngoặc nhọn của nó, dưới dạng thuộc tính, hàm tạo, phương thức, sự kiện, v.v.
public struct Game
{
public string name;
public string description;
public int levels;
public Game (string name, string description, int levels) {
this.name = name;
this.description = description;
this.levels = levels;
}
public override string ToString() => $"Name: {name}, Description: {description}, Levels: {levels}";
}
Cấu trúc Trò chơi hiện có ba thuộc tính, một hàm tạo và một phương thức. Đây là ba thành phần chính của cấu trúc C #, cũng là ba trong số các thành phần chính của lớp C #.
Cách tạo biến cấu trúc
Mỗi phiên bản của cấu trúc C # được gọi là Biến đổi. Có hai cách để tạo Biến đổi từ một cấu trúc. Bạn có thể sử dụng một hàm tạo:
Game game1 = new Game("Pokémon GO", "Lorem ipsum dolor sit amet.", 50);
Hoặc bạn có thể gán giá trị cho các thuộc tính riêng lẻ của một cấu trúc bằng cách sử dụng toán tử dấu chấm (.):
Game game1;
game1.name = "Pokémon GO";
game1.description = "Lorem ipsum dolor sit amet.";
game1.levels = 50;
Cả hai cách tiếp cận đều đạt được cùng một kết quả. Đoạn mã trên sử dụng C # để phát triển một đối tượng trò chơi gọi là Pokémon GO có mô tả ngắn gọn và 50 cấp độ. Vì vậy, bây giờ bạn có thể sử dụng đối tượng game1.
Console.WriteLine(game1.ToString());
Thao tác này in kết quả sau ra bảng điều khiển:
Name: Pokémon GO, Description: Lorem ipsum dolor sit amet., Levels: 50
Sự khác biệt giữa cấu trúc và lớp
Một cấu trúc và một lớp có bề ngoài giống nhau, nhưng chúng có nhiều điểm khác biệt đáng chú ý. Họ sử dụng các từ khóa khác nhau để khai báo. Và các cấu trúc không hỗ trợ tham chiếu null hay kế thừa.