Tiếp nối chủ đề các bài học C# , trong bài viết dưới đây Taimienphi.vn sẽ giới thiệu cho bạn về cấu trúc (structure) trong C#. Ngoài ra bạn đọc có thể tham khảo thêm một số bài viết khác đã có trên Taimienphi.vn để tìm hiểu rõ hơn về mảng (array) và chuỗi (string) trong C# là gì nhé.
Các bài viết trước Taimienphi.vn đã giới thiệu cho bạn về phương thức (method) và chuỗi string trong C# . Bài viết tiếp theo dưới đây Taimienphi.vn sẽ giới thiệu tiếp cho bạn về cấu trúc (structure) trong C#.
Cấu trúc (structure) trong C#
1. Cấu trúc (structure) trong C#
Cấu trúc (structure) là một kiểu giá trị, tập hợp các biến của các kiểu dữ liệu khác nhau trong một đơn vị. Nó gần giống một lớp, vì cả 2 đều là kiểu dữ liệu do người dùng định nghĩa và đều chứa một loạt các kiểu dữ liệu khác nhau. C# cung cấp khả năng sử dụng các kiểu dữ liệu được định nghĩa trước.
Tuy nhiên đôi khi người dùng có thể định nghĩa kiểu dữ liệu riêng, còn được gọi là kiểu dữ liệu do người dùng định nghĩa. Mặc dù là một kiểu giá trị, tuy nhiên người dùng có thể sửa đổi theo ý muốn, và đó là lý do tại sao cấu trúc được gọi là kiểu dữ liệu do người dùng định nghĩa.
1.1 Định nghĩa cấu trúc (structure) trong C#
Trong C#, cấu trúc được định nghĩa bằng cách sử dụng từ khóa struct. Bằng cách sử dụng từ khóa struct, người ta có thể định nghĩa cấu trúc bao gồm các loại dữ liệu khác nhau trong đó. Một cấu trúc cũng có thể chứa constructor, hằng, trường, phương thức, thuộc tính, bộ chỉ mục và sự kiện, ... .
- Cú pháp:
Dưới đây là cú pháp định nghĩa cấu trúc trong C#:
- Ví dụ: Để dễ hình dung hơn, bạn đọc cùng tham khảo ví dụ định nghĩa cấu trúc trong C# dưới đây:
Kết quả đầu ra có dạng:
- Giải thích: Trong đoạn mã trên, cấu trúc có tên "Person" được tạo với các thành viên dữ liệu Name, Age và Weight. Trong phương thức chính, P1 của kiểu cấu trúc Person được tạo. Tiếp theo P1 có thể truy cập các thành viên dữ liệu bằng sự hỗ trợ của toán tử.( dot ).
1.2 Sao chép cấu trúc
Trong C#, người dùng có thể sao chép một đối tượng cấu trúc sang một đối tượng khác bằng cách sử dụng toán tử gán '='.
- Cú pháp sao chép cấu trúc: Structure_object_destination = structure_object_source;
- Ví dụ về sao chép cấu trúc trong C#:
Kết quả đầu ra có dạng:
- Giải thích: Các thành viên dữ liệu của cấu trúc Person được khởi tạo với sự trợ giúp của P1 và các giá trị của các thành viên dữ liệu có thể được sao chép sang P2 từ P1 sử dụng toán tử gán '='.
1.3. Lồng các cấu trúc
C# cho phép khai báo một cấu trúc này thành một cấu trúc khác, khái niệm này được gọi là lồng các cấu trúc.
- Ví dụ về lồng các cấu trúc:
Kết quả đầu ra có dạng:
2. Một số lưu ý quan trọng về cấu trúc trong C#
- Khi cấu trúc vượt ra khỏi phạm vi, nó sẽ tự động được giải phóng.
- Tạo nhanh hơn và dễ dàng hơn so với kiểu heap.
- Sử dụng cấu trúc, việc sao chép các giá trị biến sang stack dễ dàng hơn.
- Cấu trúc là kiểu giá trị, còn lớp là kiểu tham chiếu.
3. So sánh cấu trúc và lớp trong C#
Dưới đây là bảng so sánh sự khác nhau giữa cấu trúc và lớp trong C#:
https://thuthuat.taimienphi.vn/cau-truc-structure-trong-c-43805n.aspx
Bài viết trên đây Taimienphi.vn vừa giới thiệu cho bạn về cấu trúc (structure) trong C# là gì. Ngoài ra bạn đọc có thể tham khảo thêm một số bài viết đã có trên Taimienphi.vn để tìm hiểu thêm về mảng trong C# hay chuỗi (string) là gì nhé.