Struct Trong C#
Giới thiệu
Struct là kiểu dữ liệu kiểu giá trị. Nó giúp bạn tạo một biến duy nhất chứa dữ liệu liên quan của các loại dữ liệu khác nhau.
VD: để quản lý sản phẩm thì ta phải quản lý các thông tin sau:
Tên sản phẩm : Name
Giá sản phẩm : Price
Mã sản phẩm : ID
Số Lượng : Number
Các thông tin trên cùng mô tả sản phẩm bất kỳ.
Ta có thể dùng 4 biến để lưu trữ các thông tin trên. Nhưng để quản lý các biến này khá vất vả. Ta có thể tao một struct để lưu tất cả các thông tin trên để dễ quản lý.
Tính năng của Struct trong C#
- Các cấu trúc có thể có các phương thức, các trường, các bộ chỉ mục, các thuộc tính, các phương thức toán tử và các sự kiện.
- Các cấu trúc có thể có các hàm tạo đã định nghĩa, chứ không phải các hàm hủy. Tuy nhiên, bạn không thể định nghĩa một hàm tạo mặc định cho một cấu trúc. Hàm khởi tạo mặc định được tự động xác định và không thể thay đổi.
- Không giống như các lớp, cấu trúc không thể kế thừa các cấu trúc hoặc các lớp khác.
- Các cấu trúc không thể được sử dụng làm cơ sở cho các cấu trúc hoặc các lớp khác.
- Thành viên cấu trúc không thể được chỉ định là trừu tượng, ảo hoặc được bảo vệ.
- Khi bạn tạo một đối tượng struct sử dụng toán tử New, nó được tạo và hàm tạo thích hợp được gọi. Không giống như các lớp, các cấu trúc có thể được khởi tạo mà không sử dụng toán tử New.
- Nếu toán tử New không được sử dụng, các trường vẫn chưa được gán và đối tượng không thể được sử dụng cho đến khi tất cả các trường được khởi tạo.
So sách Class and Struct
Các lớp và cấu trúc có những khác biệt cơ bản sau đây
- các lớp là các kiểu tham chiếu và các cấu trúc là các kiểu giá trị.
- cấu trúc không hỗ trợ thừa kế
- cấu trúc không thể có hàm tạo mặc định
Triển khai Struct sản phẩm
Để khai báo Struct ta dùng từ khóa Struct
Các dùng