Kiểu dữ liệu có cấu trúc được dùng khi ta cần nhóm một số biến dữ liệu luôn đi kèm với nhau.
Khi đó, việc xử lí trên một nhóm các biến được thực hiện như trên các biến cơ bản thông thường.
Khai báo cấu trúc
Trong C#, một cấu trúc do người dùng tự định nghĩa được khai báo thông qua từ khoá struct:
Access Modifier Keywords struct <Tên cấu trúc>{
<Kiểu dữ liệu 1> <Tên thuộc tính 1>;
<Kiểu dữ liệu 2> <Tên thuộc tính 2>;
…
<Kiểu dữ liệu n> <Tên thuộc tính n>; };
Trong đó:
- struct: là tên từ khoá để khai báo một cấu trúc, bắt buộc phải có khi định nghĩa cấu trúc.
- Tên cấu trúc: là tên do người dùng tự định nghĩa, tuân thủ theo quy tắc đặt tên biến trong C#. Tên này sẽ trở thành tên của kiểu dữ liệu có cấu trúc tương ứng.
- Thuộc tính: mỗi thuộc tính của cấu trúc được khai báo như khai báo một biến thuộc kiểu dữ liệu thông thường, gồm có kiểu dữ liệu và tên biến tương ứng. Mỗi khai báo thuộc tính phải kết thúc bằng dấu chấm phẩy “;” như một câu lệnh C# thông thường.
Ví dụ, để quản lí nhân viên của một công ty, khi xử lí thông tin về mỗi nhân viên, ta luôn phải xử lí các thông tin liên quan như:
- Tên
- Tuổi
- Chức vụ
- Lương
Do đó, ta sẽ dùng cấu trúc để lưu giữ thông tin về mỗi nhân viên bằng cách định nghĩa một cấu trúc có tên là Employeee với các thuộc tính như sau:
public struct Employeee{
char name; // Tên nhân viên
int age; // Tuổi nhân viên
string role; // Chức vụ của nhân viên
float salary; // Lương của nhân viên
};
Lưu ý:
Cấu trúc chỉ cần định nghĩa một lần trong chương trình và có thể được khai báo biến cấu trúc nhiều lần. Khi cấu trúc đã được định nghĩa, việc khai báo biến ở lần khác trong chương trình được thực hiện như khai báo biến thông thường:
<Tên cấu trúc> <tên biến 1>, <tên biến 2>;
Ví dụ, sau khi đã định nghĩa cấu trúc Employeee, muốn có biến myEmployeee, ta khai báo như sau:
Employee myEmployeee = new Employee();
Ví dụ cấu trúc C #
Chúng ta hãy xem một ví dụ đơn giản về cấu trúc hình chữ nhật có hai chiều rộng và chiều cao.
using System;
public struct Rectangle
{
public int width, height;
}
public class TestStructs
{
public static void Main()
{
Rectangle r = new Rectangle();
r.width = 4;
r.height = 5;
Console.WriteLine("Area of Rectangle is: " + (r.width * r.height));
}
}
Kết quả:
Area of Rectangle is: 20
Ví dụ về cấu trúc C #: Sử dụng Hàm khởi tạo và Phương thức
Chúng ta hãy xem một ví dụ khác về struct sử dụng hàm tạo để khởi tạo dữ liệu và phương thức để tính diện tích hình chữ nhật.
using System;
public struct Rectangle
{
public int width, height;
public Rectangle(int w, int h)
{
width = w;
height = h;
}
public void areaOfRectangle() {
Console.WriteLine("Area of Rectangle is: "+(width*height)); }
}
public class TestStructs
{
public static void Main()
{
Rectangle r = new Rectangle(5, 6);
r.areaOfRectangle();
}
}
Kết quả:
Area of Rectangle is: 30
0 Nhận xét