Trang chủ Liên hệ

Bài 26 C# cơ bản - Struct trong lập trình C# căn bản

CÔNG TY TNHH THIẾT BỊ ĐO LƯỜNG VÀ ĐIỀU KHIỂN 04/03/2023

Nội dung

Để đọc hiểu bài này tốt nhất các bạn nên có kiến thức cơ bản về các phần:

Trong bài học này, chúng ta sẽ cùng tìm hiểu các vấn đề:

Struct là gì? Đặc điểm của Struct

Struct là một kiểu dữ liệu có cấu trúc, được kết hợp từ các kiểu dữ liệu nguyên thuỷ do người lập trình định nghĩa để thuận tiện trong việc quản lý dữ liệu và lập trình.

Xét bài toán sau:

Ta cần lưu trữ thông tin của 10 sinh viên với mỗi sinh viên gồm có các thông tin như

Khi đó, để lưu thông tin của 1 sinh viên ta cần 4 biến chứa 4 thông tin trên. Nếu muốn lưu thông tin 10 sinh viên thì cần 40 biến. Chắc không quá nhiều, nhưng nếu muốn lưu thông tin của 1000, 10000 sinh viên thì sao?

Từ đó người ta mới đưa ra khái niệm kiểu dữ liệu có cấu trúc để giải quyết vấn đề trên.

Ý tưởng là đóng gói các thông tin đó vào 1 đối tượng duy nhất. Như vậy thay vì phải khai báo 40 biến thì ta chỉ cần khai báo 1 mảng 10 phần tử mà mỗi phần tử có kiểu dữ liệu ta đã định nghĩa.

Đặc điểm của struct

Khai báo và sử dụng struct

Khai báo

Cú pháp:

struct <tên struct>

{

            public <danh sách các biến>;

}

Trong đó:

Ví dụ

struct SinhVien
{
public int MaSo;
public string HoTen;
public double DiemToan;
public double DiemLy;
public double DiemVan;
}

 Lưu ý: bên trong vẫn còn 2 khai báo chưa được nhắc đến đó là:

Hai phần này sẽ được trình bày trong bài CLASS TRONG C#. Còn trong bài học này ta chỉ tìm hiểu cú pháp cơ bản của struct thôi.

Sử dụng

Ta có thể truy xuất đến từng thành phần dữ liệu của struct thông qua toán tử “.” Kèm theo tên thành phần muốn truy xuất.

Xét bài toán sau: Viết chương trình lưu trữ thông tin của sinh viên bao gồm: mã số, họ tên, điểm toán, điểm lý, điểm văn. Thực hiện nhập thông tin cho 1 sinh viên và tính điểm trung bình theo công thức (toán + lý + văn)/3

Code:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Bai_26_01
{
    class Program
    {
        struct SinhVien
        {
            public int MaSo;
            public string HoTen;
            public double DiemToan;
            public double DiemLy;
            public double DiemHoa;
        }
        static void NhapThongTinSV(out SinhVien SV)
        {
            Console.Write(" Ma so : ");
            SV.MaSo = int.Parse(Console.ReadLine());
            Console.Write(" Ho Ten : ");
            SV.HoTen = Console.ReadLine();
            Console.Write(" Diem Toan : ");
            SV.DiemToan = double.Parse(Console.ReadLine());
            Console.Write(" Diem Ly : ");
            SV.DiemLy = double.Parse(Console.ReadLine());
            Console.Write(" Diem Hoa : ");
            SV.DiemHoa = double.Parse(Console.ReadLine());
        }
        static void XuatThongTinSV(SinhVien SV)
        {
            Console.WriteLine(" Ma So :" + SV.MaSo);
            Console.WriteLine(" Ho Ten : " + SV.HoTen);
            Console.WriteLine(" Diem Toan : " + SV.DiemToan);
            Console.WriteLine(" Diem Ly : " + SV.DiemLy);
            Console.WriteLine(" Diem Hoa : " + SV.DiemHoa);
        }
        static double DiemTBSV(SinhVien SV)
        {
            return (SV.DiemToan + SV.DiemLy + SV.DiemHoa) / 3;
        }
        static void Main(string[] args)
        {

            //Khai bao kieu du lieu SinhVien
            SinhVien SV1 = new SinhVien();
            Console.WriteLine(" Nhap thong tin sinh vien : ");
            NhapThongTinSV(out SV1);
            Console.WriteLine("**********");
            Console.WriteLine(" Thong tin sinh vien vua nhap : ");
            XuatThongTinSV(SV1);
            Console.WriteLine(" Diem TB cua SV la :" + DiemTBSV(SV1));
            Console.ReadLine();
        }
    }
}

Trong chương trình trên ta có thể thấy:

Kết luận

Nội dung bài này giúp các bạn nắm được:

Bài sau chúng ta sẽ tìm hiểu về ENUM TRONG C#.

Bài viết liên quan